C ++ fma () - C ++ Standardbibliotek

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

Interessante artikler...