C ++ fma () - C ++ Standardbibliotek

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+zsom 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

Interessante artikler...