Math.FusedMultiplyAdd(Double, Double, Double) Metoda

Definicja

Zwraca (x * y) + z, zaokrąglone jako jedna operacja Trzyelementowy.Returns (x * y) + z, rounded as one ternary operation.

public:
 static double FusedMultiplyAdd(double x, double y, double z);
public static double FusedMultiplyAdd (double x, double y, double z);
static member FusedMultiplyAdd : double * double * double -> double
Public Shared Function FusedMultiplyAdd (x As Double, y As Double, z As Double) As Double

Parametry

x
Double

Liczba, z którą ma zostać pomnożona wartość y .The number to be multiplied with y.

y
Double

Liczba, z którą ma zostać pomnożona wartość x .The number to be multiplied with x.

z
Double

Liczba, która ma zostać dodana do wyniku x mnożenia przez y .The number to be added to the result of x multiplied by y.

Zwraca

Double

(x * y) + z, zaokrąglone jako jedna operacja Trzyelementowy.(x * y) + z, rounded as one ternary operation.

Uwagi

Ta wartość jest obliczana tak, jakby była (x * y) nieskończona precyzja, dodaje z do tego wyniku tak, jakby była nieskończona precyzja, a wreszcie zaokrągla do najbliższej reprezentacji wartości.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.

Różni się to od odrzucanej sekwencji, która może zostać obliczona (x * y) tak, jakby była nieskończona precyzja, zaokrąglić wynik do najbliższej reprezentacji wartości, dodać z do zaokrąglonego wyniku tak, jakby miał nieskończoną precyzję, a wreszcie zaokrąglić do najbliższej reprezentacji wartości.This differs from the non-fused sequence which would compute (x * y) as if to infinite precision, 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.

Dotyczy