C ++ fma () - biblioteka standardowa C ++

Funkcja fma () przyjmuje trzy argumenty x, yiz i zwraca x * y + z bez utraty precyzji

Ta funkcja jest zdefiniowana w pliku nagłówkowym.

prototyp fma () (w standardzie C ++ 11)

podwójne fma (podwójne x, podwójne y, podwójne z); float fma (float x, float y, float z); długie podwójne fma (długie podwójne x, długie podwójne y, długie podwójne z); Promowany fma (Type1 x, Type2 y, Type z); // Dla kombinacji typów arytmetycznych

Od C ++ 11, jeśli jakikolwiek argument przekazany do fma () jest long double, zwracany typ Promoted to long double. Jeśli nie, typ zwracany Promoted to double.

 (Matematyka) x * y + z = fma (x, y, z) (Programowanie w C ++)

Parametry fma ()

Fma () przyjmuje trzy argumenty.

  • x - pierwszy argument do pomnożenia.
  • y - drugi argument do pomnożenia przez x.
  • z - Trzeci argument dodawany do iloczynu x i y.

fma () Wartość zwracana

Funkcja fma () zwraca x*y+ztak, jakby została obliczona z nieskończoną precyzją i raz zaokrąglona w celu dopasowania do typu wyniku.

Przykład: Jak działa 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 uruchomieniu programu wynik będzie następujący:

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

Interesujące artykuły...