TensorPrimitives.FusedMultiplyAdd メソッド

定義

オーバーロード

FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, ReadOnlySpan<T>, Span<T>)

指定した数値のテンソルに対する (x * y) + addend の要素ごとの結果を計算します。

FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, T, Span<T>)

指定した数値のテンソルに対する (x * y) + addend の要素ごとの結果を計算します。

FusedMultiplyAdd<T>(ReadOnlySpan<T>, T, ReadOnlySpan<T>, Span<T>)

指定した数値のテンソルに対する (x * y) + addend の要素ごとの結果を計算します。

FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, ReadOnlySpan<T>, Span<T>)

ソース:
TensorPrimitives.FusedMultiplyAdd.cs
ソース:
TensorPrimitives.FusedMultiplyAdd.cs

指定した数値のテンソルに対する (x * y) + addend の要素ごとの結果を計算します。

public:
generic <typename T>
 where T : System::Numerics::IFloatingPointIeee754<T> static void FusedMultiplyAdd(ReadOnlySpan<T> x, ReadOnlySpan<T> y, ReadOnlySpan<T> addend, Span<T> destination);
public static void FusedMultiplyAdd<T> (ReadOnlySpan<T> x, ReadOnlySpan<T> y, ReadOnlySpan<T> addend, Span<T> destination) where T : System.Numerics.IFloatingPointIeee754<T>;
static member FusedMultiplyAdd : ReadOnlySpan<'T (requires 'T :> System.Numerics.IFloatingPointIeee754<'T>)> * ReadOnlySpan<'T (requires 'T :> System.Numerics.IFloatingPointIeee754<'T>)> * ReadOnlySpan<'T (requires 'T :> System.Numerics.IFloatingPointIeee754<'T>)> * Span<'T (requires 'T :> System.Numerics.IFloatingPointIeee754<'T>)> -> unit (requires 'T :> System.Numerics.IFloatingPointIeee754<'T>)
Public Shared Sub FusedMultiplyAdd(Of T As IFloatingPointIeee754(Of T)) (x As ReadOnlySpan(Of T), y As ReadOnlySpan(Of T), addend As ReadOnlySpan(Of T), destination As Span(Of T))

型パラメーター

T

パラメーター

x
ReadOnlySpan<T>

スパンとして表される最初のテンソル。

y
ReadOnlySpan<T>

スパンとして表される 2 番目のテンソル。

addend
ReadOnlySpan<T>

スパンとして表される 3 番目のテンソル。

destination
Span<T>

スパンとして表される宛先テンソル。

例外

addenddestination は重複するメモリの場所を参照し、同じ場所から開始しないでください。

注釈

このメソッドは、destination[i] = (x[i] * y[i]) + addend[i]を効果的に計算します。

要素ごとの入力値のいずれかが NaNと等しい場合、結果の要素ごとの値も NaN になります。

これにより、無限精度の場合と同様に (x * y) 計算され、その結果に無限精度のように addend が追加され、最後に最も近い表現可能な値に丸められます。 これは、無限精度に近い場合と同様に計算 (x * y) し、結果を最も近い表現可能な値に丸め、無限精度のように丸められた結果に addend を追加し、最後に最も近い表現可能な値に丸める非融合シーケンスとは異なります。

適用対象

FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, T, Span<T>)

ソース:
TensorPrimitives.FusedMultiplyAdd.cs
ソース:
TensorPrimitives.FusedMultiplyAdd.cs

指定した数値のテンソルに対する (x * y) + addend の要素ごとの結果を計算します。

public:
generic <typename T>
 where T : System::Numerics::IFloatingPointIeee754<T> static void FusedMultiplyAdd(ReadOnlySpan<T> x, ReadOnlySpan<T> y, T addend, Span<T> destination);
public static void FusedMultiplyAdd<T> (ReadOnlySpan<T> x, ReadOnlySpan<T> y, T addend, Span<T> destination) where T : System.Numerics.IFloatingPointIeee754<T>;
static member FusedMultiplyAdd : ReadOnlySpan<'T (requires 'T :> System.Numerics.IFloatingPointIeee754<'T>)> * ReadOnlySpan<'T (requires 'T :> System.Numerics.IFloatingPointIeee754<'T>)> * 'T * Span<'T (requires 'T :> System.Numerics.IFloatingPointIeee754<'T>)> -> unit (requires 'T :> System.Numerics.IFloatingPointIeee754<'T>)
Public Shared Sub FusedMultiplyAdd(Of T As IFloatingPointIeee754(Of T)) (x As ReadOnlySpan(Of T), y As ReadOnlySpan(Of T), addend As T, destination As Span(Of T))

型パラメーター

T

パラメーター

x
ReadOnlySpan<T>

スパンとして表される最初のテンソル。

y
ReadOnlySpan<T>

スパンとして表される 2 番目のテンソル。

addend
T

スカラーとして表される 3 番目のテンソル。

destination
Span<T>

スパンとして表される宛先テンソル。

例外

ydestination は重複するメモリの場所を参照し、同じ場所から開始しないでください。

注釈

このメソッドは、destination[i] = (x[i] * y[i]) + addendを効果的に計算します。 これは、BLAS1によって定義された axpy メソッドに対応します。

要素ごとの入力値のいずれかが NaNと等しい場合、結果の要素ごとの値も NaN になります。

これにより、無限精度の場合と同様に (x * y) 計算され、その結果に無限精度のように addend が追加され、最後に最も近い表現可能な値に丸められます。 これは、無限精度に近い場合と同様に計算 (x * y) し、結果を最も近い表現可能な値に丸め、無限精度のように丸められた結果に addend を追加し、最後に最も近い表現可能な値に丸める非融合シーケンスとは異なります。

適用対象

FusedMultiplyAdd<T>(ReadOnlySpan<T>, T, ReadOnlySpan<T>, Span<T>)

ソース:
TensorPrimitives.FusedMultiplyAdd.cs
ソース:
TensorPrimitives.FusedMultiplyAdd.cs

指定した数値のテンソルに対する (x * y) + addend の要素ごとの結果を計算します。

public:
generic <typename T>
 where T : System::Numerics::IFloatingPointIeee754<T> static void FusedMultiplyAdd(ReadOnlySpan<T> x, T y, ReadOnlySpan<T> addend, Span<T> destination);
public static void FusedMultiplyAdd<T> (ReadOnlySpan<T> x, T y, ReadOnlySpan<T> addend, Span<T> destination) where T : System.Numerics.IFloatingPointIeee754<T>;
static member FusedMultiplyAdd : ReadOnlySpan<'T (requires 'T :> System.Numerics.IFloatingPointIeee754<'T>)> * 'T * ReadOnlySpan<'T (requires 'T :> System.Numerics.IFloatingPointIeee754<'T>)> * Span<'T (requires 'T :> System.Numerics.IFloatingPointIeee754<'T>)> -> unit (requires 'T :> System.Numerics.IFloatingPointIeee754<'T>)
Public Shared Sub FusedMultiplyAdd(Of T As IFloatingPointIeee754(Of T)) (x As ReadOnlySpan(Of T), y As T, addend As ReadOnlySpan(Of T), destination As Span(Of T))

型パラメーター

T

パラメーター

x
ReadOnlySpan<T>

スパンとして表される最初のテンソル。

y
T

スカラーとして表される 2 番目のテンソル。

addend
ReadOnlySpan<T>

スパンとして表される 3 番目のテンソル。

destination
Span<T>

スパンとして表される宛先テンソル。

例外

addenddestination は重複するメモリの場所を参照し、同じ場所から開始しないでください。

注釈

このメソッドは、destination[i] = (x[i] * y) + addend[i]を効果的に計算します。

要素ごとの入力値のいずれかが NaNと等しい場合、結果の要素ごとの値も NaN になります。

これにより、無限精度の場合と同様に (x * y) 計算され、その結果に無限精度のように addend が追加され、最後に最も近い表現可能な値に丸められます。 これは、無限精度に近い場合と同様に計算 (x * y) し、結果を最も近い表現可能な値に丸め、無限精度のように丸められた結果に addend を追加し、最後に最も近い表現可能な値に丸める非融合シーケンスとは異なります。

適用対象