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+z
ikää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