C ++ fma () - Standardna knjižnica C ++

Funkcija fma () sprejme tri argumente x, y in z ter vrne x * y + z, ne da bi izgubila natančnost

Ta funkcija je definirana v datoteki glave.

prototip fma () (od standarda C ++ 11)

dvojni fma (dvojni x, dvojni y, dvojni z); float fma (float x, float y, float z); dolga dvojna fma (dolga dvojna x, dolga dvojna y, dolga dvojna z); Promoted fma (Type1 x, Type2 y, Type z); // Za kombinacije aritmetičnih vrst

Ker je C ++ 11, če je kateri koli argument, poslan v fma () long double, je vrsta vrnjenega Promoted long double. V nasprotnem primeru je vrsta vračila Promoted double.

 (Matematika) x * y + z = fma (x, y, z) (programiranje na C ++)

fma () parametri

Fma () ima tri argumente.

  • x - prvi argument, ki ga je treba pomnožiti.
  • y - Drugi argument, ki ga je treba pomnožiti z x.
  • z - Tretji argument, ki ga je treba dodati zmnožku x in y.

fma () Vrnjena vrednost

Funkcija fma () se vrne, x*y+zkot da je izračunana do neskončne natančnosti in enkrat zaokrožena, da ustreza vrsti rezultata.

Primer: Kako deluje 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; )

Ko zaženete program, bo rezultat:

 fma (x, y, z) = 9,2 fma (xLD, y, z) = 13,54

Zanimive Članki...