C ++ fma () - standardní knihovna C ++

Funkce fma () přebírá tři argumenty x, yaz a vrací x * y + z bez ztráty přesnosti

Tato funkce je definována v hlavičkovém souboru.

prototyp fma () (podle standardu C ++ 11)

double fma (double x, double y, double z); float fma (float x, float y, float z); long double fma (long double x, long double y, long double z); Propagované fma (Type1 x, Type2 y, Type z); // Pro kombinace aritmetických typů

Vzhledem k tomu, že v jazyce C ++ 11 je jakýkoli argument předaný fma () long double, je návratový typ povýšen long double. Pokud ne, je návratový typ Propagovaný double.

 (Mathematics) x * y + z = fma (x, y, z) (C ++ Programming)

Parametry fma ()

Fma () má tři argumenty.

  • x - První argument, který se má vynásobit.
  • y - Druhý argument, který se má vynásobit x.
  • z - Třetí argument, který se má přidat k součinu x a y.

fma () návratová hodnota

Funkce fma () se vrací, x*y+zjako by byla vypočítána s nekonečnou přesností, a jednou zaokrouhlena tak, aby odpovídala typu výsledku.

Příklad: Jak 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; )

Když spustíte program, výstup bude:

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

Zajímavé články...