StrictMath.Fma 方法

定義

多載

Fma(Double, Double, Double)

傳回三個自變數的融合乘法;也就是說,傳回與第三個自變數加總的前兩個自變數的確切乘積,然後將一次四捨五入至最 double接近的 。

Fma(Single, Single, Single)

傳回三個自變數的融合乘法;也就是說,傳回與第三個自變數加總的前兩個自變數的確切乘積,然後將一次四捨五入至最 float接近的 。

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 not/em> 一律會傳回與 (a * b) 相同的結果,因為 fusedMac(-0.0, +0.0, +0.0)+0.0 while (-0.0 * +0.0) 是 -0.0;fusedMac(a, b, -0.0)但等於 (a * b) 。<><

已在 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 not/em> 一律會傳回與 (a * b) 相同的結果,因為 fma(-0.0f, +0.0f, +0.0f)+0.0f while (-0.0f * +0.0f) 是 -0.0f;fma(a, b, -0.0f)但等於 (a * b) 。<><

已在 9 中新增。

java.lang.StrictMath.fma(float, float, float)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於