Функция fma
Функция fma выполняет операцию
fused multiply-add, то есть вычисляет
значение x * y + z, округляя
результат только один раз после сложения.
В первый параметр мы передаем первый
множитель, во второй - второй множитель,
а в третий - слагаемое. Такое вычисление
может быть точнее, чем последовательное
умножение и сложение, так как исключает
промежуточное округление.
Синтаксис
#include <cmath>
fma(x, y, z)
Пример
Давайте вычислим выражение 2 * 3 + 4
с помощью функции fma:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double res = fma(2.0, 3.0, 4.0);
cout << res << endl;
return 0;
}
Результат выполнения кода:
10
Пример
Давайте вычислим выражение 5 * 2 + 1
с помощью функции fma:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double res = fma(5.0, 2.0, 1.0);
cout << res << endl;
return 0;
}
Результат выполнения кода:
11