C++ Math fmax
The function provides the highest value among a pair of numbers.
Conditions:
Consider two numbers 'x' and 'y'.
If x is greater than y, the function will return x. If y is greater than x, it will return y. If x is NaN, the function will return y. If y is NaN, it will return x.
Syntax
float fmax(float x, float y);
double fmax(double x, double y);
long double fmax(long double x, long double y);
promoted fmax(Arithmetic x, Arithmetic y);
Note: If any argument has an integral type, then it is cast to double. If any other argument is long double, then it is cast to long double.
Parameter
(x,y): The range within which the highest value is determined.
Return value
It returns the maximum value between two numbers.
Example 1
Let's see a simple example.
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
double x=3.3;
float y=6.9;
std::cout <<"Values of x and y are :"<<x<<","<<y<< std::endl;
cout<<"Maximum value is :"<<fmax(x,y);
return 0;
}
Output:
Values of x and y are :3.3,6.9
Maximum value is :6.9
In this instance, the y value surpasses the x value. As a result, the fmax function will yield the y value.
Example 2
Let's consider a basic scenario where one of the values is 'nan'.
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
double x=1.3;
float y=NAN;
std::cout <<"Values of x and y are :"<<x<<","<<y<< std::endl;
cout<<"Maximum value is :"<<fmax(x,y);
return 0;
}
Output:
Values of x and y are :1.3,nan
Maximum value is :1.3
In this scenario, the value of y is not a number (NaN). Consequently, the fmax function will output the value of x.