Vector.FusedMultiplyAdd Método

Definição

Sobrecargas

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

Cálculos (left * right) + addend, arredondados como uma operação ternária.

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

Cálculos (left * right) + addend, arredondados como uma operação ternária.

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

Cálculos (left * right) + addend, arredondados como uma operação ternária.

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)

Parâmetros

left
Vector<Double>

O vetor a ser multiplicado com right.

right
Vector<Double>

O vetor a ser multiplicado com left.

addend
Vector<Double>

O vetor a ser adicionado ao resultado de left multiplicado por right.

Retornos

(left * right) + addend, arredondado como uma operação ternária.

Comentários

Isso calcula (left * right) como se fosse uma precisão infinita, adiciona addend a esse resultado como se fosse uma precisão infinita e, por fim, arredonda para o valor representável mais próximo.

Isso difere da sequência não fundida que calcularia (left * right) como se fosse precisão infinita, arredondar o resultado para o valor representável mais próximo, adicionar addend ao resultado arredondado como se fosse uma precisão infinita e, por fim, arredondar para o valor representável mais próximo.

Aplica-se a

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

Cálculos (left * right) + addend, arredondados como uma operação ternária.

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)

Parâmetros

left
Vector<Single>

O vetor a ser multiplicado com right.

right
Vector<Single>

O vetor a ser multiplicado com left.

addend
Vector<Single>

O vetor a ser adicionado ao resultado de left multiplicado por right.

Retornos

(left * right) + addend, arredondado como uma operação ternária.

Comentários

Isso calcula (left * right) como se fosse uma precisão infinita, adiciona addend a esse resultado como se fosse uma precisão infinita e, por fim, arredonda para o valor representável mais próximo.

Isso difere da sequência não fundida que calcularia (left * right) como se fosse precisão infinita, arredondar o resultado para o valor representável mais próximo, adicionar addend ao resultado arredondado como se fosse uma precisão infinita e, por fim, arredondar para o valor representável mais próximo.

Aplica-se a