E.V.E
v2023.02.15
 
Loading...
Searching...
No Matches

Detailed Description

Basic useful constants (scalar and SIMD)

All EVE constants can be called in four ways:

Here ct denotes the constant name.

When the condition is present and evaluate to false the result element default to zero, but this behavior can be changed if the condition is expressed by an if_(...).else_(...) clause.

Note
For mathematic constants whose value is (perhaps) not exactly represented in the floating point type used, the regular call provides the value rounded to nearest even, but the semantic modifiyers upper and lower can be used to provide values guaranted to be greater or equal (respectively less or equal) to the real mathematical value. For instance the regular nearest values of \(\pi\) for float and double are greater (resp. less) than the mathematical value.

Variables

constexpr auto eve::allbits = functor<allbits_t>
 Computes a constant with all bits set.
 
constexpr auto eve::bitincrement = functor<bitincrement_t>
 Computes a constant with only the least significant bit set.
 
constexpr auto eve::eps = functor<eps_t>
 Computes a constant to the machine epsilon.
 
constexpr auto eve::exponentmask = functor<exponentmask_t>
 Computes the the exponent bit mask of IEEE float or double.
 
constexpr auto eve::false_ = functor<false_t>
 Computes the false logical value.
 
constexpr auto eve::half = functor<half_t>
 Computes the constant \(1/2\).
 
constexpr auto eve::inf = functor<inf_t>
 Computes the infinity ieee value.
 
constexpr auto eve::iota = functor<iota_t>
 all numbers from 0 to size() - 1. equivalent to T{ [](int i, int) {return i; } }
 
constexpr auto eve::logeps = functor<logeps_t>
 Computes the natural logarithm of the machine epsilon.
 
constexpr auto eve::majorant = functor<majorant_t>
 Computes a value x such that for any value y of the same type, is_not_greater(y, x) is true.
 
constexpr auto eve::mantissamask = functor<mantissamask_t>
 Computes the mask to extract the mantissa bits of an ieee floating value.
 
constexpr auto eve::maxexponent = functor<maxexponent_t>
 Computes the greatest exponent of a floating point IEEE value.
 
constexpr auto eve::maxexponentm1 = functor<maxexponentm1_t>
 Computes the the greatest exponent of a floating point IEEE value minus one.
 
constexpr auto eve::maxexponentp1 = functor<maxexponentp1_t>
 Computes the the greatest exponent of a floating point IEEE value plus one.
 
constexpr auto eve::maxflint = functor<maxflint_t>
 Computes the smallest floating point representing an integer such that n == n+1.
 
constexpr auto eve::maxrepint = functor<maxrepint_t>
 Computes the maximum representable integer value. Same as maxflint for floating types and valmax for integral types.
 
constexpr auto eve::mhalf = functor<mhalf_t>
 Computes the constant \(-1/2\).
 
constexpr auto eve::mindenormal = functor<mindenormal_t>
 Computes the smallest denormal positive value.
 
constexpr auto eve::minexponent = functor<minexponent_t>
 Computes the the greatest exponent of a floating point IEEE value.
 
constexpr auto eve::minf = functor<minf_t>
 Computes the -infinity ieee value.
 
constexpr auto eve::minorant = functor<minorant_t>
 Computes a value x such that for any value y of the same type, is_not_less(y, x) is true.
 
constexpr auto eve::mone = functor<mone_t>
 Computes the constant \(-1\).
 
constexpr auto eve::mzero = functor<mzero_t>
 Computes the negative zero value.
 
constexpr auto eve::nan = functor<nan_t>
 Computes the IEEE quiet NaN constant.
 
constexpr auto eve::nbmantissabits = functor<nbmantissabits_t>
 Returns the number of mantissa bits of a floating point value.
 
constexpr auto eve::one = functor<one_t>
 Computes the constant \(1\).
 
constexpr auto eve::oneosqrteps = functor<oneosqrteps_t>
 Computes the the inverse of the square root of the machine epsilon.
 
constexpr auto eve::signmask = functor<signmask_t>
 Computes a value in which the most significant bit is the only bit set.
 
constexpr auto eve::smallestposval = functor<smallestposval_t>
 Computes the smallest normal positive value.
 
constexpr auto eve::sqrteps = functor<sqrteps_t>
 Computes the square root of the machine epsilon.
 
constexpr auto eve::sqrtsmallestposval = functor<sqrtsmallestposval_t>
 Computes the square root of the eve::smallestposval.
 
constexpr auto eve::sqrtvalmax = functor<sqrtvalmax_t>
 Computes the the greatest value less than the square root of eve::valmax.
 
constexpr auto eve::true_ = functor<true_t>
 Computes the logical true_ value.
 
constexpr auto eve::twotonmb = functor<twotonmb_t>
 Computes the 2 power of the number of mantissa bits of a floating value.
 
constexpr auto eve::valmax = functor<valmax_t>
 Computes the the greatest representable value.
 
constexpr auto eve::valmin = functor<valmin_t>
 Computes the the lowest representable value.
 
constexpr auto eve::zero = functor<zero_t>
 Computes the constant 0.