Funksjonen fma () tar tre argumenter x, y og z, og returnerer x * y + z uten å miste presisjon
Denne funksjonen er definert i topptekstfilen.
fma () prototype (fra og med C ++ 11 standard)
dobbelt fma (dobbelt x, dobbelt y, dobbelt z); float fma (float x, float y, float z); lang dobbel fma (lang dobbel x, lang dobbel y, lang dobbel z); Promotert fma (Type1 x, Type2 y, Type z); // For kombinasjoner av aritmetiske typer
Siden C ++ 11, hvis noe argument overført til fma () er long double
, er returtypen Promoted long double
. Hvis ikke, er returtypen Promoted double
.
(Matematikk) x * y + z = fma (x, y, z) (C ++ programmering)
fma () Parametere
Fma () tar tre argumenter.
- x - Det første argumentet som skal multipliseres.
- y - Det andre argumentet som skal multipliseres med x.
- z - Det tredje argumentet som skal legges til produktet av x og y.
fma () Returverdi
Funksjonen fma () returnerer x*y+z
som beregnet til uendelig presisjon og avrundet en gang for å passe til resultattypen.
Eksempel: Hvordan fma () fungerer?
#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; )
Når du kjører programmet, vil utdataene være:
fma (x, y, z) = 9,2 fma (xLD, y, z) = 13,54