C ++ fma () - C ++ Standardbibliothek

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 doubleder 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+zals 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

Interessante Beiträge...