C ++ fma () - C ++ -kirjasto

Funktio fma () ottaa kolme argumenttia x, y ja z ja palauttaa x * y + z tarkkuutta menettämättä

Tämä toiminto on määritelty otsikkotiedostossa.

fma () -prototyyppi (standardin C ++ 11 mukaan)

kaksinkertainen fma (kaksinkertainen x, kaksinkertainen y, kaksinkertainen z); float fma (float x, float y, float z); pitkä kaksinkertainen fma (pitkä kaksinkertainen x, pitkä kaksinkertainen y, pitkä kaksinkertainen z); Mainostettu fma (tyyppi1 x, tyyppi2y, tyyppi z); // Aritmeettisten tyyppien yhdistelmille

Koska C ++ 11, jos jokin fma: lle () välitetty argumentti on long double, palautustyyppi Promoted on long double. Jos ei, palautustyyppi Promoted on double.

 (Matematiikka) x * y + z = fma (x, y, z) (C ++ -ohjelmointi)

fma () -parametrit

Fma () sisältää kolme argumenttia.

  • x - Ensimmäinen kerrottu argumentti.
  • y - Toinen argumentti, joka kerrotaan x: llä.
  • z - Kolmas argumentti, joka lisätään x: n ja y: n tuloon.

fma () palautusarvo

Fma () -funktio palaa x*y+zikään kuin se olisi laskettu äärettömään tarkasti ja pyöristetty kerran vastaamaan tulostyyppiä .

Esimerkki: Kuinka fma () toimii?

 #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; )

Kun suoritat ohjelmaa, tulos on:

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

Mielenkiintoisia artikkeleita...