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.