Fungsi fma () mengambil tiga argumen x, y dan z, dan mengembalikan x * y + z tanpa kehilangan ketepatan
Fungsi ini ditentukan dalam fail header.
prototaip fma () (Seperti standard C ++ 11)
double fma (double x, double y, double z); float fma (float x, float y, float z); panjang ganda fma (panjang berganda x, panjang dua panjang, panjang dua panjang); Fma yang dipromosikan (Type1 x, Type2 y, Type z); // Untuk kombinasi jenis aritmetik
Oleh kerana C ++ 11, jika ada argumen yang diteruskan ke fma () long double
, maka jenis pengembalian yang Dipromosikan adalah long double
. Sekiranya tidak, jenis pengembalian yang Dipromosikan adalah double
.
(Matematik) x * y + z = fma (x, y, z) (Pengaturcaraan C ++)
Parameter fma ()
Fma () mengambil tiga hujah.
- x - Hujah pertama yang akan digandakan.
- y - Hujah kedua untuk digandakan dengan x.
- z - Hujah ketiga yang akan ditambahkan pada produk x dan y.
fma () Nilai Pulangan
Fungsi fma () kembali x*y+z
seolah-olah dihitung dengan ketepatan tak terbatas dan dibundarkan sekali agar sesuai dengan jenis hasil.
Contoh: Bagaimana fma () berfungsi?
#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; )
Semasa anda menjalankan program, outputnya adalah:
fma (x, y, z) = 9.2 fma (xLD, y, z) = 13.54