Contents

class

SushiBLAS::Kernels::RunningSolution

template <typename T>

Holds the solved elements of a substitution in Accumulator<T> between steps.

Declared in
include/SushiBLAS/support/running_solution.hpp

See also

include/SushiBLAS/support/README.md

Public types

using SushiBLAS::Kernels::RunningSolution< T >::Wide = Accumulator<T>

The type a solved element is carried in.

Static public attributes

static constexpr bool K_NEEDS_WORKSPACE = !std::is_same_v<Wide, T>

Holds whether Wide differs from T and needs storage of its own.

Public member functions

RunningSolution(T *rounded, Wide *workspace, int64_t workspace_offset) noexcept

Binds the right-hand side and, under K_NEEDS_WORKSPACE, its wide copy.

Parameters

workspace

One Wide per element of rounded, counted from workspace_offset; never read when K_NEEDS_WORKSPACE is false.

Wide get(int64_t index) const noexcept

Returns the solved element at index, unrounded.

void set(int64_t index, Wide value) const noexcept

Stores a solved element, and its rounding in the right-hand side.