Funktionen fma () tager tre argumenter x, y og z og returnerer x * y + z uden at miste præcision
Denne funktion er defineret i headerfilen.
fma () prototype (pr. C ++ 11 standard)
dobbelt fma (dobbelt x, dobbelt y, dobbelt z); float fma (float x, float y, float z); lang dobbelt fma (lang dobbelt x, lang dobbelt y, lang dobbelt z); Promoveret fma (Type1 x, Type2 y, Type z); // Til kombinationer af aritmetiske typer
Da C ++ 11 er, hvis et argument, der sendes til fma () long double
, er returneringstypen Promoted long double
. Hvis ikke, er returtypen Promoveret double
.
(Matematik) x * y + z = fma (x, y, z) (C ++ programmering)
fma () Parametre
Fma () tager tre argumenter.
- x - Det første argument, der skal ganges.
- y - Det andet argument, der skal ganges med x.
- z - Det tredje argument, der skal føjes til produktet af x og y.
fma () Return Value
Funktionen fma () vender tilbage x*y+z
som beregnet til uendelig præcision og afrundet én gang for at 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 kører programmet, vil output være:
fma (x, y, z) = 9,2 fma (xLD, y, z) = 13,54