Visible to Intel only — GUID: GUID-2A73EE1B-84A2-4053-9397-61ED149B2816
Visible to Intel only — GUID: GUID-2A73EE1B-84A2-4053-9397-61ED149B2816
IEEE_FMA
Elemental Module Intrinsic Function (Generic): Returns the result of a fused multiply-add operation. This is equivalent to the IEEE fusedMultiplyAdd operation.
Module
USE, INTRINSIC :: IEEE_ARITHMETIC
Syntax
result = IEEE_FMA (a,b,c)
a |
(Input) Must be of type REAL. |
b |
(Input) Must be of type REAL with the same kind type parameter as a. |
c |
(Input) Must be of type REAL with the same kind type parameter as a. |
Results
The result type is REAL with the same kind type parameter as a. When the result is in range, the value of the result is the mathematical value of (a * b) + c rounded according to the rounding mode of the representation method of a. Only the final step in the calculation may cause IEEE_INEXACT, IEEE_OVERFLOW, or IEEE_UNDERFLOW to signal; intermediate calculations do not.
This is the fusedMultiplyAdd operation as specified in the ISO/IEC 60559:2020 standard.
Example
The result value of IEEE_FMA (TINY(0.0), TINY(0.0) 1.0) is equal to 1.0 when the rounding mode is set to NEAREST. The exception IEEE_INEXACT is signaled.