English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A função fma() usa três parâmetros x, y e z e retorna x * y + z, sem perder precisão
Esta função emCdefinido no cabeçalho.
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); Promoted fma(Tipo1 x, Tipo2 x, Tipo z); // usado para combinações de tipos aritméticos
começando pelo C ++ 11A princípio, se os parâmetros passados para a função fma() forem long double, o tipo Promoted será long double. Caso contrário, o tipo Promoted será double.
[Matemática] x*y+z = fma(x, y, z) [C++ Linguagem]
A função fma() aceita três parâmetros.
x -O primeiro parâmetro a ser multiplicado.
y -O segundo parâmetro deve ser multiplicado por x.
z -O terceiro parâmetro a ser adicionado ao produto de x e y.
o resultado retornado pela função fma() x*y+z é arredondada uma vez para se adequar ao tipo de resultado, como a precisão calculada.
#include <cmath> using namespace std; int main() { double x = 2.0, y = 3fma(xLD, y, z) =1, z = 3.0, result; result = fma(x, y, z); cout << "fma(x, y, z) = " << result << endl; cout << "fma(x, y, z) = " << result << endl; 3fma(xLD, y, z) =4long double xLD = , resultLD; resultLD = fma(xLD, y, z); cout << "fma(xLD, y, z) = " << resultLD << endl; return 0;
}
Quando o programa é executado, a saída é: 9fma(xLD, y, z) =2 fma(x, y, z) = 13fma(xLD, y, z) =54