StrictMath.Fma 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
Fma(Double, Double, Double) |
返回三个参数的融合乘法:也就是说,返回与第三个参数求和的前两个参数的确切乘积,然后将一次舍入到最近的 |
Fma(Single, Single, Single) |
返回三个参数的融合乘法:也就是说,返回与第三个参数求和的前两个参数的确切乘积,然后将一次舍入到最近的 |
Fma(Double, Double, Double)
返回三个参数的融合乘法:也就是说,返回与第三个参数求和的前两个参数的确切乘积,然后将一次舍入到最近的 double
参数。
[Android.Runtime.Register("fma", "(DDD)D", "", ApiSince=33)]
public static double Fma (double a, double b, double c);
[<Android.Runtime.Register("fma", "(DDD)D", "", ApiSince=33)>]
static member Fma : double * double * double -> double
参数
- a
- Double
值
- b
- Double
值
- c
- Double
值
返回
(a × b + c) 计算,就像具有无限范围和精度一样,并将一次舍入到最 double
接近的值
- 属性
注解
返回三个参数的融合乘法:也就是说,返回与第三个参数求和的前两个参数的确切乘积,然后将一次舍入到最近的 double
参数。
舍入是使用 java.math.RoundingMode#HALF_EVEN舍入到最接近的甚至舍入模式完成的。
相比之下,如果 a * b + c
计算为常规浮点表达式,则涉及两个舍入错误,第一个用于乘法运算,第二个用于加法运算。
特殊情况: <ul><li> 如果任何参数为 NaN,则结果为 NaN。
<li> 如果前两个参数之一是无限的,另一个参数为零,则结果为 NaN。
<li> 如果前两个参数的确切积是无限的(换句话说,至少有一个参数是无限的,另一个参数既不是零,也不是 NaN),第三个参数是相反的符号的无穷大,结果为 NaN。
</ul>
请注意, fusedMac(a, 1.0, c)
返回与 (a + c
) 相同的结果。 但是, fusedMac(a, b, +0.0)
em 不/em> 始终返回与 () 相同的结果,因为 fusedMac(-0.0, +0.0, +0.0)
+0.0
fusedMac(a, b, -0.0)
-0.0
;但与 (a * b
-0.0 * +0.0
) 等效。<><
已在 9 中添加。
适用于 . 的 java.lang.StrictMath.fma(double, double, double)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
Fma(Single, Single, Single)
返回三个参数的融合乘法:也就是说,返回与第三个参数求和的前两个参数的确切乘积,然后将一次舍入到最近的 float
参数。
[Android.Runtime.Register("fma", "(FFF)F", "", ApiSince=33)]
public static float Fma (float a, float b, float c);
[<Android.Runtime.Register("fma", "(FFF)F", "", ApiSince=33)>]
static member Fma : single * single * single -> single
参数
- a
- Single
值
- b
- Single
值
- c
- Single
值
返回
(a × b + c) 计算,就像具有无限范围和精度一样,并将一次舍入到最 float
接近的值
- 属性
注解
返回三个参数的融合乘法:也就是说,返回与第三个参数求和的前两个参数的确切乘积,然后将一次舍入到最近的 float
参数。
舍入是使用 java.math.RoundingMode#HALF_EVEN舍入到最接近的甚至舍入模式完成的。
相比之下,如果 a * b + c
计算为常规浮点表达式,则涉及两个舍入错误,第一个用于乘法运算,第二个用于加法运算。
特殊情况: <ul><li> 如果任何参数为 NaN,则结果为 NaN。
<li> 如果前两个参数之一是无限的,另一个参数为零,则结果为 NaN。
<li> 如果前两个参数的确切积是无限的(换句话说,至少有一个参数是无限的,另一个参数既不是零,也不是 NaN),第三个参数是相反的符号的无穷大,结果为 NaN。
</ul>
请注意, fma(a, 1.0f, c)
返回与 (a + c
) 相同的结果。 但是, fma(a, b, +0.0f)
em 不/em> 始终返回与 () 相同的结果,因为 fma(-0.0f, +0.0f, +0.0f)
+0.0f
fma(a, b, -0.0f)
-0.0f
;但与 (a * b
-0.0f * +0.0f
) 等效。<><
已在 9 中添加。
适用于 . 的 java.lang.StrictMath.fma(float, float, float)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。