|
inlineconstexpr |
Computes the fused negate substact multiply of its three parameters.
The call fsnm(x, y, z)
is similar to -x-y*z
as if calculated to infinite precision and rounded once to fit the result as much as supported by the hardware.
Defined in Header
Parameters
x
, y
, z
: arguments.Return value
The value of -x-y*z
as if calculated to infinite precision and rounded once is returned, but only if the hardware is in capacity to do it at reasonnable cost.
fsnm
implementation provides those properties for all integral real value and when possible for floating real value.Masked Call
The call eve::fsnm[mask](x, ...)
provides a masked version of fsnm
which is equivalent to if_else(mask, fsnm(x, ...), x)
Example
pedantic(fsnm)(x,y,z)
ensures the one rounding property. This can be very expensive if the system has no hardware capability.numeric(fsnm)(x,y,z)
ensures the full compliance to fsnm properties. This can be very expensive if the system has no hardware capability.