La función fma () toma tres argumentos x, y y z, y devuelve x * y + z sin perder precisión
Esta función se define en el archivo de encabezado.
Prototipo fma () (A partir del estándar C ++ 11)
doble fma (doble x, doble y, doble z); flotar fma (flotar x, flotar y, flotar z); larga doble fma (larga doble x, larga doble y, larga doble z); Fma promocionado (Type1 x, Type2 y, Type z); // Para combinaciones de tipos aritméticos
Desde C ++ 11, si algún argumento pasado a fma () es long double
, el tipo de retorno Promoted es long double
. De lo contrario, el tipo de valor devuelto Promocionado es double
.
(Matemáticas) x * y + z = fma (x, y, z) (Programación en C ++)
Parámetros fma ()
El fma () toma tres argumentos.
- x : el primer argumento que se va a multiplicar.
- y : el segundo argumento que se debe multiplicar por x.
- z - El tercer argumento que se agregará al producto de x e y.
fma () Valor de retorno
La función fma () regresa x*y+z
como calculada con precisión infinita y redondeada una vez para ajustarse al tipo de resultado.
Ejemplo: ¿Cómo funciona 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; )
Cuando ejecute el programa, la salida será:
fma (x, y, z) = 9.2 fma (xLD, y, z) = 13.54