<T>LAPACK 0.1.1
C++ Template Linear Algebra PACKage
Loading...
Searching...
No Matches
Scaling constants

Functions

template<TLAPACK_REAL real_t>
constexpr real_t tlapack::blue_max () noexcept
 Blue's max constant B for the sum of squares.
 
template<TLAPACK_REAL real_t>
constexpr real_t tlapack::blue_min () noexcept
 Blue's min constant b for the sum of squares.
 
template<TLAPACK_REAL real_t>
constexpr real_t tlapack::blue_scalingMax () noexcept
 Blue's scaling constant for numbers bigger than B.
 
template<TLAPACK_REAL real_t>
constexpr real_t tlapack::blue_scalingMin () noexcept
 Blue's scaling constant for numbers smaller than b.
 
template<typename real_t >
int tlapack::digits () noexcept
 Digits.
 
template<TLAPACK_REAL real_t>
constexpr real_t tlapack::safe_max () noexcept
 Safe Maximum.
 
template<TLAPACK_REAL real_t>
constexpr real_t tlapack::safe_min () noexcept
 Safe Minimum.
 
template<TLAPACK_REAL real_t>
constexpr real_t tlapack::ulp () noexcept
 Unit in the Last Place.
 
template<TLAPACK_REAL real_t>
constexpr real_t tlapack::uroundoff () noexcept
 Unit roundoff.
 

Detailed Description


Function Documentation

◆ blue_max()

template<TLAPACK_REAL real_t>
constexpr real_t tlapack::blue_max ( )
constexprnoexcept

Blue's max constant B for the sum of squares.

See also
https://doi.org/10.1145/355769.355771

◆ blue_min()

template<TLAPACK_REAL real_t>
constexpr real_t tlapack::blue_min ( )
constexprnoexcept

Blue's min constant b for the sum of squares.

See also
https://doi.org/10.1145/355769.355771

◆ blue_scalingMax()

template<TLAPACK_REAL real_t>
constexpr real_t tlapack::blue_scalingMax ( )
constexprnoexcept

Blue's scaling constant for numbers bigger than B.

See also
https://doi.org/10.1145/355769.355771

◆ blue_scalingMin()

template<TLAPACK_REAL real_t>
constexpr real_t tlapack::blue_scalingMin ( )
constexprnoexcept

Blue's scaling constant for numbers smaller than b.

See also
https://doi.org/10.1145/355769.355771

Modification introduced in

See also
https://doi.org/10.1145/3061665 to scale denormalized numbers correctly.

◆ digits()

template<typename real_t >
int tlapack::digits ( )
noexcept

Digits.

Number of digits p in the mantissa.

See also
std::numeric_limits<real_t>::digits.

◆ safe_max()

template<TLAPACK_REAL real_t>
constexpr real_t tlapack::safe_max ( )
constexprnoexcept

Safe Maximum.

safe_max() := 1/safe_min()

◆ safe_min()

template<TLAPACK_REAL real_t>
constexpr real_t tlapack::safe_min ( )
constexprnoexcept

Safe Minimum.

Smallest normal positive power of two such that its inverse (1/safe_min()) is finite.

◆ ulp()

template<TLAPACK_REAL real_t>
constexpr real_t tlapack::ulp ( )
constexprnoexcept

Unit in the Last Place.

\[ b^{-(p-1)} \]

where b is the machine base, and p is the number of digits in the mantissa.

◆ uroundoff()

template<TLAPACK_REAL real_t>
constexpr real_t tlapack::uroundoff ( )
constexprnoexcept

Unit roundoff.

\[ b^{-(p-1)} * r \]

where b is the machine base, p is the number of digits in the mantissa, and r is the largest possible rounding error in ULPs (units in the last place) as defined by ISO 10967, which can vary from 0.5 (rounding to the nearest digit) to 1.0 (rounding to zero or to infinity).

See also
https://people.eecs.berkeley.edu/~demmel/cs267/lecture21/lecture21.html