C ++ fma () - C ++ Standardbibliotek

Funktionen fma () tar tre argument x, y och z och returnerar x * y + z utan att förlora precision

Denna funktion definieras i rubrikfilen.

fma () prototyp (Från och med C ++ 11-standarden)

dubbel fma (dubbel x, dubbel y, dubbel z); float fma (float x, float y, float z); lång dubbel fma (lång dubbel x, lång dubbel y, lång dubbel z); Främjad fma (Type1 x, Type2 y, Type z); // För kombinationer av aritmetiska typer

Eftersom C ++ 11, om något argument skickat till fma () är long double, är returtypen Promoted long double. Om inte är returtypen Promoted double.

 (Matematik) x * y + z = fma (x, y, z) (C ++ programmering)

fma () Parametrar

Fma () tar tre argument.

  • x - Det första argumentet som ska multipliceras.
  • y - Det andra argumentet som ska multipliceras med x.
  • z - Det tredje argumentet som ska läggas till produkten av x och y.

fma () Returvärde

Funktionen fma () återgår x*y+zsom om den beräknas till oändlig precision och avrundas en gång för att passa resultatstypen.

Exempel: Hur fungerar 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; )

När du kör programmet blir resultatet:

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

Intressanta artiklar...