std::fma
Материал из cppreference.com
![]() |
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google.
Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы |
Определено в заголовочном файле <cmath>
|
||
float fma( float x, float y, float z ); |
(1) | (начиная с C++11) |
double fma( double x, double y, double z ); |
(2) | (начиная с C++11) |
long double fma( long double x, long double y, long double z ); |
(3) | (начиная с C++11) |
Promoted fma( Arithmetic x, Arithmetic y, Arithmetic z ); |
(4) | (начиная с C++11) |
#define FP_FAST_FMA /* implementation-defined */ |
(5) | (начиная с C++11) |
#define FP_FAST_FMAF /* implementation-defined */ |
(6) | (начиная с C++11) |
#define FP_FAST_FMAL /* implementation-defined */ |
(7) | (начиная с C++11) |
FMA функции вычисления (x*y) + z, округлые как один тройной операции, в соответствии с
Оригинал:
The fma functions compute (x*y) + z, rounded as one ternary operation, according to the
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Режим округления характеризуется значением FLT_ROUNDS.
4) Оригинал:
rounding mode characterized by the value of FLT_ROUNDS.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Если какой-либо из аргументов имеет целый тип, он приведен к double. Если любой другой аргумент long double, то возвращаемый тип long double, иначе это double.
5-7) Оригинал:
If any argument has integral type, it is cast to double. If any other argument is long double, then the return type is long double, otherwise it is double.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Если макрос константы
FP_FAST_FMAF
, FP_FAST_FMA
, или FP_FAST_FMAL
определены, функция std::fma
оценивает быстрее, чем выражение x*y+z для float, double, и long double аргументы, соответственно. Если определено, этих макросов 1 целое.Оригинал:
If the macro constants
FP_FAST_FMAF
, FP_FAST_FMA
, or FP_FAST_FMAL
are defined, the function std::fma
evaluates faster than the expression x*y+z for float, double, and long double arguments, respectively. If defined, these macros evaluate to integer 1.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Параметры
x, y, z | - | с плавающей точкой
Оригинал: floating point values Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
[править] Возвращаемое значение
(x*y) + z, округлые как один тройной операции
Оригинал:
(x*y) + z, rounded as one ternary operation
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] См. также
(C++11) |
подписан остаток от деления операции Оригинал: signed remainder of the division operation Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |
(C++11) |
Остальные подписанные, а также три последних бита операции деления Оригинал: signed remainder as well as the three last bits of the division operation Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |