Deklaracja edytuj

double      fma (double      x, double      y, double      z);
float       fmaf(float       x, float       y, float       z);
long double fmal(long double x, long double y, long double z);

Plik nagłówkowy edytuj

math.h

Argumenty edytuj

x, y
argumenty iloczynu
z
argument sumy

Opis edytuj

Funkcja oblicza wartość z większą dokładnością niżby wykonać operację mnożenia i dodawania oddzielnie. Dodatkowo, jeżeli zdefiniowane jest makro FP_FAST_FMA (odpowiednio FP_FAST_FMAF i FP_FAST_FMAL) funkcja fma (odpowiednio fmaf i fmal) wykonuje się niewolniej niż oddzielne wykonanie mnożenia i dodawania.

Wartość zwracana edytuj

Wartość  .

Przykład użycia edytuj

Uwagi edytuj

Funkcja została dodana do języka w standardzie C99.

W przypadku użycia funkcji matematycznych może zaistnieć konieczność podania odpowiedniego argumentu linkerowi, aby ten połączył program z biblioteką matematyczną. Np. na systemach GNU/Linux jest to -lm.