TensorPrimitives.FusedMultiplyAdd Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, ReadOnlySpan<T>, Span<T>) |
Berechnet das elementweise Ergebnis von |
FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, T, Span<T>) |
Berechnet das elementweise Ergebnis von |
FusedMultiplyAdd<T>(ReadOnlySpan<T>, T, ReadOnlySpan<T>, Span<T>) |
Berechnet das elementweise Ergebnis von |
FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, ReadOnlySpan<T>, Span<T>)
Berechnet das elementweise Ergebnis von (
für die angegebenen Tensoren von Zahlen.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))
Typparameter
- T
Parameter
Der erste Tensor, dargestellt als Spanne.
Der zweite Tensor, dargestellt als Spanne.
- addend
- ReadOnlySpan<T>
Der dritte Tensor, dargestellt als Spanne.
- destination
- Span<T>
Der Ziel-Tensor, dargestellt als Spanne.
Ausnahmen
addend
und destination
auf überlappende Speicherorte verweisen und nicht an demselben Speicherort beginnen.
Hinweise
Diese Methode berechnet effektiv
.destination
[i] = (x
[i] * y
[i]) + addend
[i]
Wenn einer der elementweisen Eingabewerte gleich NaNist, ist der resultierende Elementwert auch NaN.
Dies berechnet (x
* y
) 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 (x
* y
) 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<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, T, Span<T>)
Berechnet das elementweise Ergebnis von (
für die angegebenen Tensoren von Zahlen.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))
Typparameter
- T
Parameter
Der erste Tensor, dargestellt als Spanne.
Der zweite Tensor, dargestellt als Spanne.
- addend
- T
Der dritte Tensor, dargestellt als Skalar.
- destination
- Span<T>
Der Ziel-Tensor, dargestellt als Spanne.
Ausnahmen
y
und destination
auf überlappende Speicherorte verweisen und nicht an demselben Speicherort beginnen.
Hinweise
Diese Methode berechnet effektiv
. Sie entspricht der durch destination
[i] = (x
[i] * y
[i]) + addend
BLAS1
definierten axpy
Methode.
Wenn einer der elementweisen Eingabewerte gleich NaNist, ist der resultierende Elementwert auch NaN.
Dies berechnet (x
* y
) 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 (x
* y
) 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<T>(ReadOnlySpan<T>, T, ReadOnlySpan<T>, Span<T>)
Berechnet das elementweise Ergebnis von (
für die angegebenen Tensoren von Zahlen.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))
Typparameter
- T
Parameter
Der erste Tensor, dargestellt als Spanne.
- y
- T
Der zweite Tensor, dargestellt als Skalar.
- addend
- ReadOnlySpan<T>
Der dritte Tensor, dargestellt als Spanne.
- destination
- Span<T>
Der Ziel-Tensor, dargestellt als Spanne.
Ausnahmen
addend
und destination
auf überlappende Speicherorte verweisen und nicht an demselben Speicherort beginnen.
Hinweise
Diese Methode berechnet effektiv
.destination
[i] = (x
[i] * y
) + addend
[i]
Wenn einer der elementweisen Eingabewerte gleich NaNist, ist der resultierende Elementwert auch NaN.
Dies berechnet (x
* y
) 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 (x
* y
) 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.