C++ Math nextafter
The nextafter function represents the next representable value in a specific direction.
Suppose two numbers are 'from' and 'to' . Therefore, the nextafter function finds the next value of 'from' in the direction of 'to'.
Syntax
Example
float nextafter( float from, float to);
double nextafter( double from, double to);
long double nextafter( long double from, long double to);
promoted nextafter( arithmetic from, arithmetic to);
Note: If any argument is long double, then the return type is long double. If not, the return type is double.
Parameter
( from, to) : These are the floating point values.
Return value
- If 'from' equals to 'to', it returns the value of 'from'.
- If no error occurs, the next representable value of 'from' is returned.
Example 1
Let's see a simple example when the value of 'from' and 'to' are equal.
Example
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
float from=6.7;
float to=6.7;
cout<<"Values of from and to are:"<<from<<", "<<to<<'\n';
cout<<nextafter(from,to);
return 0;
}
Output:
Output
Values of from and to are:6.7, 6.7
6.7
In the above example, values of 'from' and 'to' are equal. Therefore, the function returns the value of 'from'.
Example 2
Let's see a simple example when 'from' and 'to' are of same type.
Example
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
double from=0.0;
double to=6.0;
cout<<"Values of from and to are:"<<from<<", "<<to<<'\n';
cout<<nextafter(from,to);
return 0;
}
Output:
Output
Values of from and to are:0, 6
4.94066e-324
In the above example, 'from' and 'to' are of same type but are unequal. The nextafter function returns the value i.e 4.94066e -324