Contents

class

SushiBLAS::Kernels::ReferenceSum

template <typename T>

Holds the running sum of a reference kernel: in double for HALF, FLOAT32 and COMPLEX32, compensated for FLOAT64 and COMPLEX64.

Declared in
include/SushiBLAS/support/reference_accumulator.hpp

Template parameters

T

The element type of the tensor the kernel serves.

See also

include/SushiBLAS/support/README.md

Public types

using SushiBLAS::Kernels::ReferenceSum< T >::Wide = ReferenceAccumulator<T>

The type a term is added in and the sum is read in.

Static public attributes

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

Holds whether Wide is T itself, so the sum keeps its rounding errors.

Public member functions

void add(const Wide &term) noexcept

Adds term to the sum.

Wide value() const noexcept

Returns the sum of every term added so far.