Az fma () függvény három x, y és z argumentumot vesz fel, és x * y + z-t ad vissza anélkül, hogy elveszítené a pontosságot
Ezt a függvényt a fejlécfájl határozza meg.
fma () prototípus (C ++ 11 szabvány szerint)
kettős fma (dupla x, dupla y, dupla z); float fma (float x, float y, float z); hosszú dupla fma (hosszú dupla x, hosszú dupla y, hosszú dupla z); Előléptetett fma (Type1 x, Type2 y, z típus); // Számtani típusok kombinációira
C ++ 11 óta, ha az fma () -nak átadott argumentum az long double
, a Promotált visszatérési típus az long double
. Ha nem, akkor a Promotált visszatérési típus double
.
(Matematika) x * y + z = fma (x, y, z) (C ++ programozás)
fma () Paraméterek
Az fma () három érvet hoz fel.
- x - Az első szorzandó argumentum.
- y - A második argumentum, amelyet meg kell szorozni x-szel.
- z - Az x és y szorzatához hozzáadandó harmadik érv.
fma () visszatérési érték
Az fma () függvény úgy tér vissza x*y+z
, mintha végtelen pontossággal lenne kiszámítva, és egyszer lekerekítve az eredmény típusához.
Példa: Hogyan működik az 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; )
A program futtatásakor a kimenet a következő lesz:
fma (x, y, z) = 9,2 fma (xLD, y, z) = 13,54