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

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

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.