C ++ fma () - Bibliothèque standard C ++

La fonction fma () prend trois arguments x, y et z, et renvoie x * y + z sans perdre en précision

Cette fonction est définie dans le fichier d'en-tête.

prototype fma () (à partir de la norme 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); Promu fma (Type1 x, Type2 y, Type z); // Pour les combinaisons de types arithmétiques

Depuis C ++ 11, si un argument passé à fma () est long double, le type de retour Promoted est long double. Sinon, le type de retour Promu est double.

 (Mathématiques) x * y + z = fma (x, y, z) (Programmation C ++)

Paramètres fma ()

Le fma () prend trois arguments.

  • x - Le premier argument à multiplier.
  • y - Le deuxième argument à multiplier par x.
  • z - Le troisième argument à ajouter au produit de x et y.

Valeur de retour fma ()

La fonction fma () renvoie x*y+zcomme si elle était calculée avec une précision infinie et arrondie une fois pour s'adapter au type de résultat.

Exemple: Comment fonctionne 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; )

Lorsque vous exécutez le programme, la sortie sera:

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

Articles intéressants...