C programming islessequal math.h

int islessequal(float x , float y);
int islessequal(double x , double y);
int islessequal(long double x, long double y);

In C programming <math.h> islessequal determines if the first argument is less than or equal to the second argument.

x -The first argument.

y -The second argument.

Return type
int -Return 1 is x<=y else 0.

Some points to note:

 i) The value of islessequal(x , y) is same as (x)<=(y).The only difference between them is unlike ‘(x)<=(y)’, islessequal(x, y) does not raise the ‘invalid’ floating-point exception when x and y are unordered.

 ii) +∞ is treated as greater than any valid value,-∞ is treated as smaller than any valid value.

 iii) If one of the arguments is NaN ,0 is always returned.

 iv) If character or int type is passed as argument the function with double as parameter type is called.

Code example

double dx = 10 , dy = 10 ,
x1 = 2.1e20 , x2=2.2e20 ;

float fx = 11 , fy = 10 ;

long double ldx = 10 , ldy = 11 ;

printf(“%i”, islessequal( dx , dy) ) ; //calls the 2nd version
printf(“\n%i”, islessequal( fx , fy) ) ; //calls the 1st version
printf(“\n%i”, islessequal( ldx , ldy) ) ;//calls the 3rd version

printf(“\n%i”, islessequal( x1 , x2) ) ;
printf(“\n%i”, islessequal( NAN , INFINITY) ) ;

Output in Visual Studio,


Link : C nan:myths and conception

Related links

->C isless math.h

->C isgreaterequal math.h