|
inlineconstexpr |
Computes the fused negate multiply substract of its three parameters.
The call fnms(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 reasonable cost.
fnms
implementation provides those properties for all integral real value and when possible for floating real value.Masked Call
The call eve::fnms[mask](x, ...)
provides a masked version of fnms
which is equivalent to if_else(mask, fnms(x, ...), x)
Example
pedantic(fnms)(x,y,z)
ensures the one rounding property. This can be very expensive if the system has no hardware capability.numeric(fnms)(x,y,z)
ensures the full compliance to fnms properties. This can be very expensive if the system has no hardware capability.