FMA(3) | Library Functions Manual | FMA(3) |
fma
— multiply and
add, then round
#include
<math.h>
double
fma
(double
x, double y,
double z);
long double
fmal
(long
double x, long double
y, long double
z);
float
fmaf
(float
x, float y,
float z);
The
fma
()
functions compute (x*y)+z, rounded as one ternary operation: they compute
the value (as if) to infinite precision and round once to the result format,
according to the current rounding mode.
fma
(x,
y, z) returns a NaN and
optionally raises the "invalid" floating-point exception if one of
x and y is infinite, the other is 0, and z is a NaN.
fma
(x,
y, z) returns a NaN and raises
the "invalid" floating-point exception if one of x and y is
infinite, the other is 0, and z is not NaN.
fma
(x,
y, z) returns a NaN and raises
the "invalid" floating-point exception if x times y is an exact
infinity, and z is also an infinity but with the opposite sign.
The fma
() functions conform to ISO/IEC
9899:2011.
May 28, 2008 | macOS 14.6 |