Vector64.MultiplyAddEstimate Method

Definition

Overloads

MultiplyAddEstimate(Vector64<Double>, Vector64<Double>, Vector64<Double>)

Computes an estimate of (left * right) + addend.

MultiplyAddEstimate(Vector64<Single>, Vector64<Single>, Vector64<Single>)

Computes an estimate of (left * right) + addend.

MultiplyAddEstimate(Vector64<Double>, Vector64<Double>, Vector64<Double>)

Computes an estimate of (left * right) + addend.

public:
 static System::Runtime::Intrinsics::Vector64<double> MultiplyAddEstimate(System::Runtime::Intrinsics::Vector64<double> left, System::Runtime::Intrinsics::Vector64<double> right, System::Runtime::Intrinsics::Vector64<double> addend);
public static System.Runtime.Intrinsics.Vector64<double> MultiplyAddEstimate (System.Runtime.Intrinsics.Vector64<double> left, System.Runtime.Intrinsics.Vector64<double> right, System.Runtime.Intrinsics.Vector64<double> addend);
static member MultiplyAddEstimate : System.Runtime.Intrinsics.Vector64<double> * System.Runtime.Intrinsics.Vector64<double> * System.Runtime.Intrinsics.Vector64<double> -> System.Runtime.Intrinsics.Vector64<double>
Public Function MultiplyAddEstimate (left As Vector64(Of Double), right As Vector64(Of Double), addend As Vector64(Of Double)) As Vector64(Of Double)

Parameters

left
Vector64<Double>

The vector to be multiplied with right.

right
Vector64<Double>

The vector to be multiplied with left.

addend
Vector64<Double>

The vector to be added to the result of left multiplied by right.

Returns

An estimate of (left * right) + addend.

Remarks

On hardware that natively supports FusedMultiplyAdd(Vector64<Double>, Vector64<Double>, Vector64<Double>), this may return a result that was rounded as one ternary operation.

On hardware without specialized support, this may just return (left * right) + addend.

Applies to

MultiplyAddEstimate(Vector64<Single>, Vector64<Single>, Vector64<Single>)

Computes an estimate of (left * right) + addend.

public:
 static System::Runtime::Intrinsics::Vector64<float> MultiplyAddEstimate(System::Runtime::Intrinsics::Vector64<float> left, System::Runtime::Intrinsics::Vector64<float> right, System::Runtime::Intrinsics::Vector64<float> addend);
public static System.Runtime.Intrinsics.Vector64<float> MultiplyAddEstimate (System.Runtime.Intrinsics.Vector64<float> left, System.Runtime.Intrinsics.Vector64<float> right, System.Runtime.Intrinsics.Vector64<float> addend);
static member MultiplyAddEstimate : System.Runtime.Intrinsics.Vector64<single> * System.Runtime.Intrinsics.Vector64<single> * System.Runtime.Intrinsics.Vector64<single> -> System.Runtime.Intrinsics.Vector64<single>
Public Function MultiplyAddEstimate (left As Vector64(Of Single), right As Vector64(Of Single), addend As Vector64(Of Single)) As Vector64(Of Single)

Parameters

left
Vector64<Single>

The vector to be multiplied with right.

right
Vector64<Single>

The vector to be multiplied with left.

addend
Vector64<Single>

The vector to be added to the result of left multiplied by right.

Returns

An estimate of (left * right) + addend.

Remarks

On hardware that natively supports FusedMultiplyAdd(Vector64<Double>, Vector64<Double>, Vector64<Double>), this may return a result that was rounded as one ternary operation.

On hardware without specialized support, this may just return (left * right) + addend.

Applies to