Поделиться через


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>

Второй тензор, представленный в виде диапазона.

addend
ReadOnlySpan<T>

Третий тензор, представленный в виде диапазона.

destination
Span<T>

Тензор назначения, представленный в виде диапазона.

Исключения

addend и destination ссылаются на перекрывающиеся расположения памяти и не начинаются в одном расположении.

Комментарии

Этот метод эффективно вычисляет 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>

Второй тензор, представленный в виде диапазона.

addend
T

Третий тензор, представленный как скаляр.

destination
Span<T>

Тензор назначения, представленный в виде диапазона.

Исключения

y и destination ссылаются на перекрывающиеся расположения памяти и не начинаются в одном расположении.

Комментарии

Этот метод эффективно вычисляет destination[i] = (x[i] * y[i]) + addend. Он соответствует методу axpy, определенному BLAS1.

Если любой из входных значений элемента равен 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

Второй тензор, представленный как скаляр.

addend
ReadOnlySpan<T>

Третий тензор, представленный в виде диапазона.

destination
Span<T>

Тензор назначения, представленный в виде диапазона.

Исключения

addend и destination ссылаются на перекрывающиеся расположения памяти и не начинаются в одном расположении.

Комментарии

Этот метод эффективно вычисляет destination[i] = (x[i] * y) + addend[i].

Если любой из входных значений элемента равен NaN, результирующее значение элемента также равно NaN.

Это вычисляет (x * y) как если бы бесконечной точности, добавляет addend к этому результату, как будто к бесконечной точности, и, наконец, округляется до ближайшего представляющего значения. Это отличается от неисплавленной последовательности, которая будет вычислять (x * y), как будто до бесконечной точности, округлить результат до ближайшего представляющего значения, добавить addend в округленный результат, как будто к бесконечной точности, и, наконец, округлить до ближайшего представляющего значения.

Применяется к