Contents

class

SushiBLAS::Reduce::ScaledSumOfSquares

template <typename T>

Holds a running Euclidean norm that cannot overflow or underflow on the way.

Declared in
include/SushiBLAS/support/reduce_1d.hpp

See also

include/SushiBLAS/support/README.md

Static public member functions

static T min_scale() noexcept

Returns the smallest value the scale may take: the smallest positive normal value.

See also

include/SushiBLAS/support/README.md

static T max_scale() noexcept

Returns the largest value the scale may take: the reciprocal of min_scale.

See also

include/SushiBLAS/support/README.md

static constexpr T identity() noexcept

Returns the value an empty norm has.

static T combine(T a, T b) noexcept

Combines two finished partial norms with hypot.

See also

include/SushiBLAS/support/README.md

Public member functions

void accumulate(T x) noexcept

Folds one raw element or finished partial norm into the running norm.

See also

include/SushiBLAS/support/README.md

T value() const noexcept

Returns the norm folded so far.

Returns

scale * sqrt(sum-of-relative-squares).