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

Функція fma () приймає три аргументи x, y і z і повертає x * y + z, не втрачаючи точності

Ця функція визначена у файлі заголовка.

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

подвійний fma (подвійний х, подвійний у, подвійний z); float fma (float x, float y, float z); long double fma (long double x, long double y, long double z); Рекламований fma (Тип1 x, Тип2 y, Тип 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

Цікаві статті...