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

Funkcija fma () uzima tri argumenta x, y i z i vraća x * y + z bez gubitka preciznosti

Ova je funkcija definirana u zaglavnoj datoteci.

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

dvostruki fma (dvostruki x, dvostruki y, dvostruki z); float fma (float x, float y, float z); long double fma (long double x, long double y, long double z); Promovirani fma (Type1 x, Type2 y, Type z); // Za kombinacije aritmetičkih vrsta

Budući da je C ++ 11, ako je bilo koji argument proslijeđen u fma () long double, povratni tip Promoted je long double. Ako nije, vrsta povrata Promoted je double.

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

fma () parametri

Fma () uzima tri argumenta.

  • x - prvi argument koji se množi.
  • y - Drugi argument koji se množi s x.
  • z - Treći argument koji se dodaje umnošku x i y.

fma () Povratna vrijednost

Funkcija fma () vraća se x*y+zkao da je izračunata do beskonačne preciznosti i jednom zaokružena da odgovara vrsti rezultata.

Primjer: Kako funkcionira 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; )

Kada pokrenete program, izlaz će biti:

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

Zanimljivi članci...