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