These functions implements accurate versions of the operations \(\pm x \pm yz\) and \(\pm xy \pm z\).
The required accuracy is in two directions
The implementation of these two properties can always be obtained calling the decorated pedantic version of these functions.
Take care that can be very expansive if the proper hardware capabilities are not present.
By themselves the regular version of these function acts by maping the std implementation if the intrinsics are not at hand.
fam, fanm, fma, fms, fnms, fsm, fsnm.
Variables | |
constexpr auto | eve::fam = functor<fam_t> |
strict_elementwise_callable computing the fused add multiply of its three parameters. | |
constexpr auto | eve::fanm = functor<fanm_t> |
Computes the fused add negate multiply of its three parameters. | |
constexpr auto | eve::fma = functor<fma_t> |
strict_elementwise_callable computing the fused multiply add of its three parameters. | |
constexpr auto | eve::fms = functor<fms_t> |
strict_elementwise_callable computing the fused multiply substract of its three parameters. | |
constexpr auto | eve::fnms = functor<fnms_t> |
strict_elementwise_callable computing the fused multiply add of its three parameters. | |
constexpr auto | eve::fsm = functor<fsm_t> |
strict_elementwise_callable computing the fused add multiply of its three parameters. | |
constexpr auto | eve::fsnm = functor<fsnm_t> |
strict_elementwise_callable computing the fused add multiply of its three parameters. | |