Funkcijai fma () reikia trijų argumentų x, y ir z, o x * y + z grąžinta neprarandant tikslumo
Ši funkcija apibrėžta antraštės faile.
fma () prototipas (pagal standartą C ++ 11)
dviguba fma (dviguba x, dviguba y, dviguba z); plūdė fma (plūdė x, plūdė y, plūdė z); ilga dviguba fma (ilga dviguba x, ilga dviguba y, ilga dviguba z); Paaukštinta fma (Type1 x, Type2 y, Type Z); // Aritmetinių tipų deriniams
Kadangi C ++ 11 yra argumentas, perduotas fma () long double
, grąžinimo tipas yra „Promoted“ long double
. Jei ne, grąžinimo tipas „Promoted“ yra double
.
(Matematika) x * y + z = fma (x, y, z) (C ++ programavimas)
fma () parametrai
Fma () pateikia tris argumentus.
- x - Pirmasis argumentas, kurį reikia padauginti.
- y - antrasis argumentas, padauginamas iš x.
- z - trečiasis argumentas, kurį reikia pridėti prie x ir y sandaugos.
fma () grąžinimo vertė
Funkcija fma () grąžinama x*y+z
taip, lyg būtų apskaičiuota be galo tiksliai ir suapvalinta vieną kartą, kad atitiktų rezultato tipą.
Pavyzdys: Kaip veikia 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; )
Kai paleisite programą, išvestis bus:
fma (x, y, z) = 9,2 fma (xLD, y, z) = 13,54