Freigeben über


Vector.FusedMultiplyAdd Methode

Definition

Überlädt

FusedMultiplyAdd(Vector<Double>, Vector<Double>, Vector<Double>)

Berechnet (left * right) + addend, gerundet als einen ternären Vorgang.

FusedMultiplyAdd(Vector<Single>, Vector<Single>, Vector<Single>)

Berechnet (left * right) + addend, gerundet als einen ternären Vorgang.

FusedMultiplyAdd(Vector<Double>, Vector<Double>, Vector<Double>)

Berechnet (left * right) + addend, gerundet als einen ternären Vorgang.

public:
 static System::Numerics::Vector<double> FusedMultiplyAdd(System::Numerics::Vector<double> left, System::Numerics::Vector<double> right, System::Numerics::Vector<double> addend);
public static System.Numerics.Vector<double> FusedMultiplyAdd (System.Numerics.Vector<double> left, System.Numerics.Vector<double> right, System.Numerics.Vector<double> addend);
static member FusedMultiplyAdd : System.Numerics.Vector<double> * System.Numerics.Vector<double> * System.Numerics.Vector<double> -> System.Numerics.Vector<double>
Public Function FusedMultiplyAdd (left As Vector(Of Double), right As Vector(Of Double), addend As Vector(Of Double)) As Vector(Of Double)

Parameter

left
Vector<Double>

Der zu multiplizierende Vektor mit right.

right
Vector<Double>

Der zu multiplizierende Vektor mit left.

addend
Vector<Double>

Der Vektor, der dem Ergebnis von left multipliziert mit righthinzugefügt werden soll.

Gibt zurück

(left * right) + addend, gerundet als eine ternäre Operation.

Hinweise

Dies berechnet (left * right) als wäre eine unendliche Genauigkeit, fügt addend zu diesem Ergebnis hinzu, als wäre die unendliche Genauigkeit, und schließlich wird auf den nächsten darstellbaren Wert gerundet.

Dies unterscheidet sich von der nicht fused-Sequenz, die berechnet (left * right) würde, als wäre es unendlich präzise, runden das Ergebnis auf den nächsten darstellbaren Wert, addieren addend zum abgerundeten Ergebnis, als wäre es unendlich präzise, und schließlich auf den nächsten darstellbaren Wert gerundet.

Gilt für:

FusedMultiplyAdd(Vector<Single>, Vector<Single>, Vector<Single>)

Berechnet (left * right) + addend, gerundet als einen ternären Vorgang.

public:
 static System::Numerics::Vector<float> FusedMultiplyAdd(System::Numerics::Vector<float> left, System::Numerics::Vector<float> right, System::Numerics::Vector<float> addend);
public static System.Numerics.Vector<float> FusedMultiplyAdd (System.Numerics.Vector<float> left, System.Numerics.Vector<float> right, System.Numerics.Vector<float> addend);
static member FusedMultiplyAdd : System.Numerics.Vector<single> * System.Numerics.Vector<single> * System.Numerics.Vector<single> -> System.Numerics.Vector<single>
Public Function FusedMultiplyAdd (left As Vector(Of Single), right As Vector(Of Single), addend As Vector(Of Single)) As Vector(Of Single)

Parameter

left
Vector<Single>

Der zu multiplizierende Vektor mit right.

right
Vector<Single>

Der zu multiplizierende Vektor mit left.

addend
Vector<Single>

Der Vektor, der dem Ergebnis von left multipliziert mit righthinzugefügt werden soll.

Gibt zurück

(left * right) + addend, gerundet als eine ternäre Operation.

Hinweise

Dies berechnet (left * right) als wäre eine unendliche Genauigkeit, fügt addend zu diesem Ergebnis hinzu, als wäre die unendliche Genauigkeit, und schließlich wird auf den nächsten darstellbaren Wert gerundet.

Dies unterscheidet sich von der nicht fused-Sequenz, die berechnet (left * right) würde, als wäre es unendlich präzise, runden das Ergebnis auf den nächsten darstellbaren Wert, addieren addend zum abgerundeten Ergebnis, als wäre es unendlich präzise, und schließlich auf den nächsten darstellbaren Wert gerundet.

Gilt für: