C ++ fma () - štandardná knižnica C ++

Funkcia fma () prijíma tri argumenty x, yaz a vracia x * y + z bez straty presnosti

Táto funkcia je definovaná v hlavičkovom súbore.

prototyp fma () (od štandardu C ++ 11)

dvojité fma (dvojité x, dvojité y, dvojité z); float fma (float x, float y, float z); dlhé dvojité fma (dlhé dvojité x, dlhé dvojité y, dlhé dvojité z); Propagované fma (Typ1 x, Typ2 y, Typ z); // Pre kombinácie aritmetických typov

Od verzie C ++ 11, ak je nejaký argument odovzdaný fma () long double, je návratový typ Propagovaný long double. Ak nie, návratový typ Propagovaný je double.

 (Matematika) x * y + z = fma (x, y, z) (programovanie v C ++)

Parametre fma ()

Fma () má tri argumenty.

  • x - Prvý argument, ktorý sa má vynásobiť.
  • y - Druhý argument, ktorý sa má vynásobiť x.
  • z - Tretí argument, ktorý sa má pridať k súčinu x a y.

fma () návratová hodnota

Funkcia fma () sa vráti x*y+z, akoby bola vypočítaná s nekonečnou presnosťou a zaokrúhlená jedenkrát tak, aby zodpovedala typu výsledku.

Príklad: Ako funguje 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; )

Po spustení programu bude výstup:

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

Zaujímavé články...