English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La funzione fma() utilizza tre parametri x, y e z e restituisce x * y + z senza perdere precisione
Questa funzione è definita in<cmath>Definito nel file di intestazione.
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(Type1 x, Type2 y, Type z); // Utilizzato per la combinazione di tipi aritmetici
Dalla versione C ++ 11 in poi, se i parametri passati a fma() sono di tipo long double, il tipo restituito Promoted è long double. Altrimenti, il tipo restituito Promoted è double.
[Matematica] x*y+z = fma(x, y, z) [Linguaggio C++]
fma() accetta tre parametri.
x -Il primo parametro da moltiplicare.
y -Il secondo parametro deve essere moltiplicato per x.
z -Il terzo parametro deve essere aggiunto al prodotto x*y.
Il risultato restituito dalla funzione fma() x*y+z è come se calcolato con precisione e arrotondato una volta per adattarsi al tipo di risultato.
#include <cmath> 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; }
输出程序运行时:
fma(x, y, z) = 9.2 fma(xLD, y, z) = 13.54