fma(3) BSD Library Functions Manual fma(3)
NAME
fma -- multiply and add, then round
SYNOPSIS
#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);
DESCRIPTION
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.
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 ALSO
fdim(3), fmax(3), fmin(3)
STANDARDS
The fma() functions conform to ISO/IEC 9899:1999(E). BSD May 28, 2008 BSD
Mac OS X 10.6 - Generated Thu Sep 17 20:19:46 CDT 2009