std::fma
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody>| Определено в заголовочном файле <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.
Оригинал:
rounding mode characterized by the value of FLT_ROUNDS.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
4)
Если какой-либо из аргументов имеет целый тип, он приведен к
double. Если любой другой аргумент long double, то возвращаемый тип long double, иначе это double.Оригинал:
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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
5-7)
Если макрос константы
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)(C++11)(C++11) |
остаток со знаком от операции деления (функция) |
(C++11)(C++11)(C++11) |
остаток со знаком, а также три последних бита операции деления (функция) |