i128_07_compare.c (387B)
1 typedef __int128 i128; 2 typedef unsigned __int128 u128; 3 4 int test_main(void) { 5 u128 big = (u128)1 << 100; 6 u128 small = ((u128)1 << 99) + 9; 7 i128 neg = -((i128)1 << 70); 8 i128 pos = (i128)1 << 70; 9 int r = 0; 10 if (big > small) r += 1; 11 if (small < big) r += 2; 12 if (big != small) r += 4; 13 if (neg < pos) r += 8; 14 if (neg <= -1) r += 16; 15 if (pos >= 0) r += 32; 16 return r; 17 }