এই আর্টিকেলে আমরা C++-এ fma() ফাংশনের কাজকর্ম, প্যারামিটার এবং রিটার্ন ভ্যালু দেখব।
fma() <cmath> হেডার ফাইলের একটি বিল্ট-ইন ফাংশন, যা তিনটি প্যারামিটার x, y এবং z গ্রহণ করে এবং x*y + z এর ফলাফল রিটার্ন করে কোনো ইন্টারমিডিয়েট প্রিসিশন লস ছাড়াই (Fused Multiply-Add)।
সিনট্যাক্স
float fma(float x, float y, float z); double fma(double x, double y, double z); long double fma(long double x, long double y, long double z);
প্যারামিটার
x- গুণ করার প্রথম এলিমেন্ট।y- দ্বিতীয় এলিমেন্ট য দিয়েxগুণ করা হবে।z- তৃতীয় এলিমেন্ট যাx*y-এর ফলাফলের সাথে যোগ হবে।
রিটার্ন ভ্যালু
x*y+z-এর সঠিক ফলাফল (রাউন্ডিং এরর কমিয়ে)।
উদাহরণ ১
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double x = 2.1, y = 4.2, z = 9.4, answer;
answer = fma(x, y, z);
cout << x << " * " << y << " + " << z << " = " << answer << endl;
return 0;
}
আউটপুট
2.1 * 4.2 + 9.4 = 18.22
উদাহরণ ২
#include <bits/stdc++.h>
using namespace std;
int main() {
double a = 7.4, b = 9.3, c = 1.2;
double ans = fma(a, b, c);
cout << a << " * " << b << " + " << c << " = " << ans << endl;
return 0;
}
আউটপুট
7.4 * 9.3 + 1.2 = 70.02
সুবিধা: fma हार্ডওয়্যার লেভেলে ফিউজড মাল্টিপ্লাই-অ্যাড ইনস্ট্রাকশন ব্যবহার করলে পারফরম্যান্স এবং প্রিসিশন উভয়ই ভালো হয়।