C ++ fma () - C ++ Standard Library

Fungsi fma () mengambil tiga argumen x, y dan z, dan mengembalikan x * y + z tanpa kehilangan presisi

Fungsi ini didefinisikan dalam file header.

fma () prototipe (Sesuai standar C ++ 11)

fma ganda (x ganda, y ganda, z ganda); float fma (float x, float y, float z); panjang ganda fma (panjang ganda x, panjang ganda y, panjang ganda z); Fma yang dipromosikan (Type1 x, Type2 y, Type z); // Untuk kombinasi tipe aritmatika

Sejak C ++ 11, jika ada argumen yang diteruskan ke fma () adalah long double, tipe kembalian Dipromosikan adalah long double. Jika tidak, jenis pengembalian Dipromosikan adalah double.

 (Matematika) x * y + z = fma (x, y, z) (Pemrograman C ++)

fma () Parameter

Fma () membutuhkan tiga argumen.

  • x - Argumen pertama yang akan dikalikan.
  • y - Argumen kedua yang akan dikalikan dengan x.
  • z - Argumen ketiga yang akan ditambahkan ke produk dari x dan y.

fma () Nilai Kembali

Fungsi fma () mengembalikan x*y+zseolah-olah dihitung dengan presisi tak terbatas dan dibulatkan sekali agar sesuai dengan jenis hasil.

Contoh: Bagaimana fma () bekerja?

 #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; )

Saat Anda menjalankan program, hasilnya adalah:

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

Artikel yang menarik...