|
|
@ -250,7 +250,16 @@ int conditional(int x, int y, int z) { |
|
|
|
* Rating: 3 |
|
|
|
*/ |
|
|
|
int isLessOrEqual(int x, int y) { |
|
|
|
return 2; |
|
|
|
int signx = x >> 31; |
|
|
|
int signy = y >> 31; |
|
|
|
int isnegpos = signx ^ signy & signx; // 0xFFFFF if signx = 1 sign y = 0 |
|
|
|
int sign1 = ~(1 << 31); // 01111111...111 |
|
|
|
int absx = x & sign1; |
|
|
|
int absy = y & sign1; |
|
|
|
int diff = absy + (~absx) + 1; |
|
|
|
int signdiff = diff >> 31; |
|
|
|
int res = !isnegpos & !signdiff; |
|
|
|
return res; |
|
|
|
} |
|
|
|
//4 |
|
|
|
/* |
|
|
|