C ++ fma () - Стандартная библиотека C ++

Функция fma () принимает три аргумента x, y и z и возвращает x * y + z без потери точности.

Эта функция определена в заголовочном файле.

прототип fma () (в соответствии со стандартом C ++ 11)

двойной fma (двойной x, двойной y, двойной z); float fma (float x, float y, float z); длинный двойной фма (длинный двойной x, длинный двойной y, длинный двойной z); Повышенный fma (Type1 x, Type2 y, Type z); // Для комбинаций арифметических типов

Начиная с C ++ 11, если какой-либо аргумент, переданный в fma (), имеет значение long double, возвращаемый тип Promoted равен long double. Если нет, то тип возвращаемого значения Promoted - double.

 (Математика) x * y + z = fma (x, y, z) (Программирование на C ++)

fma () Параметры

Fma () принимает три аргумента.

  • x - первый аргумент для умножения.
  • y - второй аргумент, который нужно умножить на x.
  • z - третий аргумент, добавляемый к произведению x и y.

fma () Возвращаемое значение

Функция fma () возвращает значение, x*y+zкак если бы оно было вычислено с бесконечной точностью и округлено один раз, чтобы соответствовать типу результата.

Пример: как работает fma ()?

 #include using namespace std; int main() ( double x = 2.0, y = 3.1, z = 3.0, result; result = fma(x, y, z); cout << "fma(x, y, z) = " << result << endl; long double xLD = 3.4, resultLD; resultLD = fma(xLD, y, z); cout << "fma(xLD, y, z) = " << resultLD << endl; return 0; )

Когда вы запустите программу, вывод будет:

 fma (x, y, z) = 9,2 fma (xLD, y, z) = 13,54

Интересные статьи...