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... | |