TensorPrimitives.FusedMultiplyAdd 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, ReadOnlySpan<T>, Span<T>) |
计算指定数值张量 |
FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, T, Span<T>) |
计算指定数值张量 |
FusedMultiplyAdd<T>(ReadOnlySpan<T>, T, ReadOnlySpan<T>, Span<T>) |
计算指定数值张量 |
FusedMultiplyAdd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, ReadOnlySpan<T>, Span<T>)
计算指定数值张量 (
的元素结果。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
参数
第一个张量,表示为范围。
第二个张量,表示为范围。
- 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>)
计算指定数值张量 (
的元素结果。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
参数
第一个张量,表示为范围。
第二个张量,表示为范围。
- addend
- T
第三个张量,表示为标量。
- destination
- Span<T>
目标张量,表示为范围。
例外
y
和 destination
引用重叠的内存位置,并且不在同一位置开始。
注解
此方法有效地计算
。 它对应于 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>)
计算指定数值张量 (
的元素结果。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
参数
第一个张量,表示为范围。
- 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
添加到舍入结果中,就好像是无限精度,最后舍入到最接近的可表示值。