C ++ fma () - Biblioteca padrão C ++

A função fma () recebe três argumentos x, y e z e retorna x * y + z sem perder a precisão

Esta função é definida no arquivo de cabeçalho.

protótipo fma () (a partir do padrão C ++ 11)

fma duplo (duplo x, duplo y, duplo z); float fma (float x, float y, float z); fma duplo longo (duplo x longo, duplo longo y, duplo longo z); Fma promovida (Tipo1 x, Tipo2 y, Tipo z); // Para combinações de tipos aritméticos

Desde C ++ 11, se qualquer argumento passado para fma () for long double, o tipo de retorno Promovido será long double. Caso contrário, o tipo de retorno promovido é double.

 (Matemática) x * y + z = fma (x, y, z) (Programação C ++)

Parâmetros fma ()

O fma () leva três argumentos.

  • x - O primeiro argumento a ser multiplicado.
  • y - o segundo argumento a ser multiplicado por x.
  • z - o terceiro argumento a ser adicionado ao produto de x e y.

fma () Valor de retorno

A função fma () retorna x*y+zcomo se calculada com precisão infinita e arredondada uma vez para se ajustar ao tipo de resultado.

Exemplo: Como funciona o 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; )

Quando você executa o programa, a saída será:

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

Artigos interessantes...