Die Funktion fma () akzeptiert drei Argumente x, y und z und gibt x * y + z zurück, ohne an Genauigkeit zu verlieren
Diese Funktion ist in der Header-Datei definiert.
Prototyp fma () (Stand C ++ 11)
doppeltes fma (doppeltes x, doppeltes y, doppeltes z); float fma (float x, float y, float z); langes doppeltes fma (langes doppeltes x, langes doppeltes y, langes doppeltes z); Geförderte fma (Typ1 x, Typ2 y, Typ z); // Für Kombinationen von arithmetischen Typen
Seit C ++ 11 lautet long double
der zurückgegebene Rückgabetyp Promoted , wenn ein an fma () übergebenes Argument lautet long double
. Wenn nicht, lautet der zurückgegebene Rückgabetyp double
.
(Mathematik) x * y + z = fma (x, y, z) (C ++ - Programmierung)
fma () Parameter
Das fma () akzeptiert drei Argumente.
- x - Das erste zu multiplizierende Argument.
- y - Das zweite Argument, das mit x multipliziert werden soll.
- z - Das dritte Argument, das dem Produkt aus x und y hinzugefügt werden soll.
fma () Rückgabewert
Die Funktion fma () gibt zurück, x*y+z
als ob sie mit unendlicher Genauigkeit berechnet und einmal gerundet worden wäre, um dem Ergebnistyp zu entsprechen.
Beispiel: Wie funktioniert 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; )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
fma (x, y, z) = 9,2 fma (xLD, y, z) = 13,54