Open In App

fma() function in C++

Last Updated : 06 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

The fma() function takes three arguments a, b and c, and returns a*b+c without losing precision. The fma() function is defined in the cmath header file. If any argument passed to fma() is long double, the return type is long double. If not, the return type is double. Syntax:

double fma(double a, double b, double c);

or,
long double fma(long double a, long double b, long double c);

or,
float fma(float a, float b, float c)

Parameters: This function takes three parameters.

  • a: The first argument to be multiplied.
  • b: The second argument to be multiplied with a.
  • c: The third argument to be added to the product of a and b.

Returns: The fma() function returns a*b+c. Below programs illustrate the fma() function in C++: 

Time Complexity: O(1)

Space Complexity: O(1)

Program 1: 

CPP




// C++ program to demonstrate
// the fma() function
 
#include<bits/stdc++.h>
 
using namespace std;
 
int main()
{
    double a = 3.4, b = 2.1, c = 4.2;
    double ans = fma(a, b, c);
     
    cout << "fma(a, b, c)= " << ans << endl;
 
    return 0;
}


Output:

fma(a, b, c)= 11.34

Program 2: 

CPP




// CPP program to demonstrate
// fma() function
 
#include<bits/stdc++.h>
using namespace std;
 
int main()
{
    double b = 2.1, c = 4.2;
    long double lda = 9.4, answer;
     
    answer = fma(lda, c, b);
     
    cout << "fma(lda, c, b)=" << answer << endl;
 
    return 0;
}


Output:

fma(lda, c, b)=41.58


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads