FMA(3) BSD Library Functions Manual FMA(3)NAMEfma — multiply and add, then round
SYNOPSIS
#include <math.h>
double
fma(double x, double y, double z);
float
fmaf(float x, float y, double z);
DESCRIPTION
The fma() and fmaf() 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.
SPECIAL VALUES
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 excep‐
tion 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 excep‐
tion if x times y is an exact infinity, and z is also an infinity but
with the opposite sign.
SEE ALSOfdim(3), fmax(3), fmin(3)STANDARDS
The fma() and fmaf() functions conform to ISO/IEC 9899:1999(E).
BSD July 24, 2003 BSD