StrictMath.Fma Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
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
значение
Возвращаемое значение
(>; > >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
). Тем не менее, em не всегда> возвращает тот же результат, <fusedMac(a, b, +0.0)
>что и (a * b
) с момента fusedMac(-0.0, +0.0, +0.0)
() имеет значение +0.0
-0.0 * +0.0
-0.0
; fusedMac(a, b, -0.0)
эквивалентно () однакоa * b
.<
Добавлено в 9.
Документация по Java для java.lang.StrictMath.fma(double, double, double)
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Применяется к
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
значение
Возвращаемое значение
(>; > >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
). Тем не менее, em не всегда> возвращает тот же результат, <fma(a, b, +0.0f)
>что и (a * b
) с момента fma(-0.0f, +0.0f, +0.0f)
() имеет значение +0.0f
-0.0f * +0.0f
-0.0f
; fma(a, b, -0.0f)
эквивалентно () однакоa * b
.<
Добавлено в 9.
Документация по Java для java.lang.StrictMath.fma(float, float, float)
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.