Return x * y + z, rounded as one ternary operation.
Declared in <bdldfp_decimalimputil.h>
static
DecimalImpUtil::ValueType32
fma(
ValueType32 x,
ValueType32 y,
ValueType32 z);
Special value handling: * If x or y are quiet NaN, quiet NaN is returned. * If any argument is signaling NaN, quiet NaN is returned and the value of the macro EDOM is stored into errno. * If x*y is an exact infinity and z is infinity with the opposite sign, quiet NaN is returned and the value of the macro EDOM is stored into errno. * If x is zero and y is infinite or if x is infinite and y is zero, and z is not a NaN, then quiet NaN is returned and the value of the macro EDOM is stored into errno. * If x is zero and y is infinite or if x is infinite and y is zero, and z is NaN, then quiet NaN is returned.
x * y + z, rounded as one ternary operation
| Name | Description |
|---|---|
| x | first multiplicand |
| y | second multiplicand |
| z | addend |