TensorPrimitives.FusedMultiplyAdd Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, ReadOnlySpan<T>, Span<T>) |
Oblicza mądry wynik |
FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, T, Span<T>) |
Oblicza mądry wynik |
FusedMultiplyAdd<T>(ReadOnlySpan<T>, T, ReadOnlySpan<T>, Span<T>) |
Oblicza mądry wynik |
FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, ReadOnlySpan<T>, Span<T>)
Oblicza mądry wynik (
dla określonych tensorów liczb.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))
Parametry typu
- T
Parametry
Pierwszy tensor reprezentowany jako zakres.
Drugi tensor, reprezentowany jako zakres.
- addend
- ReadOnlySpan<T>
Trzeci tensor, reprezentowany jako zakres.
- destination
- Span<T>
Tensor docelowy reprezentowany jako zakres.
Wyjątki
addend
i destination
odwołują się do nakładających się lokalizacji pamięci i nie zaczynają się w tej samej lokalizacji.
Uwagi
Ta metoda skutecznie oblicza
.destination
[i] = (x
[i] * y
[i]) + addend
[i]
Jeśli którakolwiek z wartości wejściowych mądrego elementu jest równa NaN, wynikowa wartość mądrego elementu jest również wartością NaN.
To obliczenia (x
* y
) tak, jakby do nieskończonej precyzji, dodaje addend
do tego wyniku tak, jakby do nieskończonej precyzji, a na koniec zaokrągla do najbliższej wartości reprezentującej. Różni się to od sekwencji niezwiązanej, która obliczałaby (x
* y
) tak, jakby miała nieskończoną precyzję, zaokrągliła wynik do najbliższej wartości godnej reprezentowania, dodać addend
do zaokrąglonego wyniku, tak jakby do nieskończonej precyzji, a na koniec zaokrąglić do najbliższej wartości reprezentującej.
Dotyczy
FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, T, Span<T>)
Oblicza mądry wynik (
dla określonych tensorów liczb.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))
Parametry typu
- T
Parametry
Pierwszy tensor reprezentowany jako zakres.
Drugi tensor, reprezentowany jako zakres.
- addend
- T
Trzeci tensor, reprezentowany jako skalarny.
- destination
- Span<T>
Tensor docelowy reprezentowany jako zakres.
Wyjątki
y
i destination
odwołują się do nakładających się lokalizacji pamięci i nie zaczynają się w tej samej lokalizacji.
Uwagi
Ta metoda skutecznie oblicza
. Odpowiada metodzie destination
[i] = (x
[i] * y
[i]) + addend
axpy
zdefiniowanej przez BLAS1
.
Jeśli którakolwiek z wartości wejściowych mądrego elementu jest równa NaN, wynikowa wartość mądrego elementu jest również wartością NaN.
To obliczenia (x
* y
) tak, jakby do nieskończonej precyzji, dodaje addend
do tego wyniku tak, jakby do nieskończonej precyzji, a na koniec zaokrągla do najbliższej wartości reprezentującej. Różni się to od sekwencji niezwiązanej, która obliczałaby (x
* y
) tak, jakby miała nieskończoną precyzję, zaokrągliła wynik do najbliższej wartości godnej reprezentowania, dodać addend
do zaokrąglonego wyniku, tak jakby do nieskończonej precyzji, a na koniec zaokrąglić do najbliższej wartości reprezentującej.
Dotyczy
FusedMultiplyAdd<T>(ReadOnlySpan<T>, T, ReadOnlySpan<T>, Span<T>)
Oblicza mądry wynik (
dla określonych tensorów liczb.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))
Parametry typu
- T
Parametry
Pierwszy tensor reprezentowany jako zakres.
- y
- T
Drugi tensor, reprezentowany jako skalarny.
- addend
- ReadOnlySpan<T>
Trzeci tensor, reprezentowany jako zakres.
- destination
- Span<T>
Tensor docelowy reprezentowany jako zakres.
Wyjątki
addend
i destination
odwołują się do nakładających się lokalizacji pamięci i nie zaczynają się w tej samej lokalizacji.
Uwagi
Ta metoda skutecznie oblicza
.destination
[i] = (x
[i] * y
) + addend
[i]
Jeśli którakolwiek z wartości wejściowych mądrego elementu jest równa NaN, wynikowa wartość mądrego elementu jest również wartością NaN.
To obliczenia (x
* y
) tak, jakby do nieskończonej precyzji, dodaje addend
do tego wyniku tak, jakby do nieskończonej precyzji, a na koniec zaokrągla do najbliższej wartości reprezentującej. Różni się to od sekwencji niezwiązanej, która obliczałaby (x
* y
) tak, jakby miała nieskończoną precyzję, zaokrągliła wynik do najbliższej wartości godnej reprezentowania, dodać addend
do zaokrąglonego wyniku, tak jakby do nieskończonej precyzji, a na koniec zaokrąglić do najbliższej wartości reprezentującej.