Condividi tramite


Vector.FusedMultiplyAdd Metodo

Definizione

Overload

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

Calcola (left * right) + addend, arrotondato come un'operazione ternaria.

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

Calcola (left * right) + addend, arrotondato come un'operazione ternaria.

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

Calcola (left * right) + addend, arrotondato come un'operazione ternaria.

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)

Parametri

left
Vector<Double>

Vettore da moltiplicare con right.

right
Vector<Double>

Vettore da moltiplicare con left.

addend
Vector<Double>

Vettore da aggiungere al risultato di left moltiplicato per right.

Restituisce

(left * right) + addend, arrotondato come un'operazione ternaria.

Commenti

Questo calcolo (left * right) come se fosse una precisione infinita, aggiunge addend a tale risultato come se fosse una precisione infinita e infine arrotonda al valore rappresentabile più vicino.

Ciò differisce dalla sequenza non fusibile che calcola (left * right) come se fosse una precisione infinita, arrotondare il risultato al valore rappresentabile più vicino, aggiungere addend al risultato arrotondato come se fosse una precisione infinita e infine arrotondare al valore rappresentabile più vicino.

Si applica a

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

Calcola (left * right) + addend, arrotondato come un'operazione ternaria.

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)

Parametri

left
Vector<Single>

Vettore da moltiplicare con right.

right
Vector<Single>

Vettore da moltiplicare con left.

addend
Vector<Single>

Vettore da aggiungere al risultato di left moltiplicato per right.

Restituisce

(left * right) + addend, arrotondato come un'operazione ternaria.

Commenti

Questo calcolo (left * right) come se fosse una precisione infinita, aggiunge addend a tale risultato come se fosse una precisione infinita e infine arrotonda al valore rappresentabile più vicino.

Ciò differisce dalla sequenza non fusibile che calcola (left * right) come se fosse una precisione infinita, arrotondare il risultato al valore rappresentabile più vicino, aggiungere addend al risultato arrotondato come se fosse una precisione infinita e infine arrotondare al valore rappresentabile più vicino.

Si applica a