Пространства имён
Варианты
Действия

std::fma

Материал из cppreference.com
< cpp‎ | numeric‎ | math

 
 
 
Общие математические функции
Функции
Основные операции
(C++11)
(C++11)
fma
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Экспоненциальные функции
(C++11)
(C++11)
(C++11)
(C++11)
Степенные функции
(C++11)
(C++11)
Тригонометрические и гиперболические функции
(C++11)
(C++11)
(C++11)
Ошибка и гамма функции
(C++11)
(C++11)
(C++11)
(C++11)
Операции целочисленного округления с плавающей запятой
(C++11)(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Функции манипуляции с плавающей запятой
(C++11)(C++11)
(C++11)
(C++11)
Классификация/Сравнение
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Макро-константы
(C++11)(C++11)(C++11)(C++11)(C++11)
 
Определено в заголовочном файле <cmath>
float       fma(float x, float y, float z );
(1) (начиная с C++11)
double      fma(double x, double y, double z );
(2) (начиная с C++11)
longdouble fma(longdouble x, longdouble y, longdouble 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. Если любой другой аргумент longdouble, то возвращаемый тип longdouble, иначе это double.
Оригинал:
If any argument has integral type, it is cast to double. If any other argument is longdouble, then the return type is longdouble, otherwise it is double.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
5-7)
Если макрос константы FP_FAST_FMAF, FP_FAST_FMA, или FP_FAST_FMAL определены, функция std::fma оценивает быстрее, чем выражение x*y+z для float, double, и longdouble аргументы, соответственно. Если определено, этих макросов 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 longdouble 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)
остаток со знаком, а также три последних бита операции деления
(функция)[править]
close