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); 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

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