কম্পিউটার টিউটোরিয়াল

C++-এ fma() ফাংশন

এই আর্টিকেলে আমরা 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 हार্ডওয়্যার লেভেলে ফিউজড মাল্টিপ্লাই-অ্যাড ইনস্ট্রাকশন ব্যবহার করলে পারফরম্যান্স এবং প্রিসিশন উভয়ই ভালো হয়।

  1. C++-এ copysign() ফাংশন

  2. C++ গাণিতিক ফাংশনসমূহ

  3. C++-এ log() ফাংশন

  4. C++-এ swap() ফাংশন