E.V.E  0.1-beta

Detailed Description

These functions provide scalar and SIMD version of basic arithmetic functions.

To keep the results homogeneous and coherent between SIMD and scalar mode, the types usable in those functions are required to satisfy eve::compatible_values

Convenience header:

#include <eve/function/arithmetic.hpp>

Functions

template<logical_value Mask, value Value>
void eve::swap_if (Mask const &mask, Value &lhs, Value &rhs) noexcept
 Conditional swap. More...
 

Variables

constexpr callable_abs_ eve::abs = {}
 Callable object computing the absolute value. More...
 
constexpr callable_absmax_ eve::absmax = {}
 Callable object computing the absmax operation. More...
 
constexpr callable_absmin_ eve::absmin = {}
 Callable object computing the absmin operation. More...
 
constexpr callable_arg_ eve::arg = {}
 Callable object computing the phase angle (in radians). More...
 
constexpr callable_average_ eve::average = {}
 Callable object computing the average of multiple values. More...
 
constexpr callable_cbrt_ eve::cbrt = {}
 Callable object computing the cubic root. More...
 
constexpr callable_clamp_ eve::clamp = {}
 Callable object clamping a value between two others. More...
 
constexpr callable_conj_ eve::conj = {}
 Callable object computing the conjugate value. More...
 
constexpr callable_copysign_ eve::copysign = {}
 Callable object performing the sign copying operation. More...
 
constexpr callable_dist_ eve::dist = {}
 Callable object computing the distance between two values. More...
 
constexpr callable_fam_ eve::fam = {}
 Callable object computing the fused add-multiply operation. More...
 
constexpr callable_fanm_ eve::fanm = {}
 Callable object computing the fused add-negate-multiply operation. More...
 
constexpr callable_fdim_ eve::fdim = {}
 Callable object computing the positive difference. More...
 
constexpr callable_fma_ eve::fma = {}
 Callable object computing the fused multiply-add operation. More...
 
constexpr callable_fms_ eve::fms = {}
 Callable object computing the fused multiply-substract operation. More...
 
constexpr callable_fnma_ eve::fnma = {}
 Callable object computing the fused negate-multiply-add operation. More...
 
constexpr callable_fnms_ eve::fnms = {}
 Callable object computing the fused negate-multiply-substract operation. More...
 
constexpr callable_frac_ eve::frac = {}
 Callable object computing the fractional part of a value. More...
 
constexpr callable_fracscale_ eve::fracscale = {}
 Callable object computing the fractional scaled part. More...
 
constexpr callable_fsm_ eve::fsm = {}
 Callable object computing the fused sub-multiply operation. More...
 
constexpr callable_fsnm_ eve::fsnm = {}
 Callable object computing the fused sub-negate-multiply operation. More...
 
constexpr callable_geommean_ eve::geommean = {}
 Callable object computing the mid-point operation. More...
 
constexpr callable_hypot_ eve::hypot = {}
 Callable object computing the hypot operation. More...
 
constexpr callable_manhattan_ eve::manhattan = {}
 Callable object computing the manhattan operation. More...
 
constexpr callable_max_ eve::max = {}
 Callable object computing the max operation. More...
 
constexpr callable_maxabs_ eve::maxabs = {}
 Callable object computing the maxabs operation. More...
 
constexpr callable_maxmag_ eve::maxmag = {}
 Callable object computing the maxmag operation. More...
 
constexpr callable_min_ eve::min = {}
 Callable object computing the min operation. More...
 
constexpr callable_minabs_ eve::minabs = {}
 Callable object computing the minabs operation. More...
 
constexpr callable_minmag_ eve::minmag = {}
 Callable object computing the minmag operation. More...
 
constexpr callable_modf_ eve::modf = {}
 Callable object computing the modf operation. More...
 
constexpr callable_negabsmax_ eve::negabsmax = {}
 Callable object computing the negabsmax operation. More...
 
constexpr callable_negabsmin_ eve::negabsmin = {}
 Callable object computing the negabsmin operation. More...
 
constexpr callable_negate_ eve::negate = {}
 Callable object computing the negate operation. More...
 
constexpr callable_negatenz_ eve::negatenz = {}
 Callable object computing the negatenz function. More...
 
constexpr callable_negmaxabs_ eve::negmaxabs = {}
 Callable object computing the negmaxabs operation. More...
 
constexpr callable_negminabs_ eve::negminabs = {}
 Callable object computing the negminabs operation. More...
 
constexpr callable_oneminus_ eve::oneminus = {}
 Callable object computing the oneminus operation. More...
 
constexpr callable_rat_ eve::rat = {}
 Callable object computing the rational approximation. More...
 
constexpr callable_rec_ eve::rec = {}
 Callable object computing the rec operation. More...
 
constexpr callable_roundscale_ eve::roundscale = {}
 Callable object computing the scaled rouding. More...
 
constexpr callable_rsqrt_ eve::rsqrt = {}
 Callable object computing the inverse of the square root. More...
 
constexpr callable_saturate_ eve::saturate = {}
 Callable object computing the saturation of a value in a type. More...
 
constexpr callable_sign_ eve::sign = {}
 Callable object computing the sign operation. More...
 
constexpr callable_signnz_ eve::signnz = {}
 Callable object computing the signnz function. More...
 
constexpr callable_sqr_ eve::sqr = {}
 Callable object computing the sqr operation. More...
 
constexpr callable_sqr_abs_ eve::sqr_abs = {}
 Callable object computing the sqr_abs operation. More...
 
constexpr callable_sqrt_ eve::sqrt = {}
 Callable object computing the square root. More...
 
constexpr callable_sub_ eve::sub = {}
 Callable object performing the difference of multiple values. More...