MathF.FusedMultiplyAdd(Single, Single, Single) Method

Definition

Returns (x * y) + z, rounded as one ternary operation.

public:
 static float FusedMultiplyAdd(float x, float y, float z);
public static float FusedMultiplyAdd (float x, float y, float z);
static member FusedMultiplyAdd : single * single * single -> single
Public Shared Function FusedMultiplyAdd (x As Single, y As Single, z As Single) As Single

Parameters

x
Single

The number to be multiplied with y.

y
Single

The number to be multiplied with x.

z
Single

The number to be added to the result of x multiplied by y.

Returns

(x * y) + z, rounded as one ternary operation.

Remarks

This computes (x * y) as if to infinite precision, adds z to that result as if to infinite precision, and finally rounds to the nearest representable value.

This differs from the non-fused sequence which would compute (x * y) as if to infinite preicision, round the result to the nearest representable value, add 'z' to the rounded result as if to infinite precision, and finally round to the nearest representable value.

Applies to