/* * compile with -DINT_TYPE="char" * or -DINT_TYPE="short" * or -DINT_TYPE="int" * or -DINT_TYPE="long" * or -DINT_TYPE="long long" */ #include int main() { volatile unsigned INT_TYPE a, b; a = 1; b = 8; assert((a < b)); assert((a <= b)); assert(!(a > b)); assert(!(a >= b)); assert((a != b)); assert(!(a == b)); if ((INT_TYPE)(~0) > 255) { volatile unsigned short a, b; a = 256 + 2; b = 256 + 21; assert((a < b)); assert((a <= b)); assert(!(a > b)); assert(!(a >= b)); assert((a != b)); assert(!(a == b)); a = 21; b = 256 + 1; assert((a < b)); assert((a <= b)); assert(!(a > b)); assert(!(a >= b)); assert((a != b)); assert(!(a == b)); if ((INT_TYPE)(~0) > 65535) { volatile unsigned int a, b; a = 65536 + 2; b = 65536 + 21; assert((a < b)); assert((a <= b)); assert(!(a > b)); assert(!(a >= b)); assert((a != b)); assert(!(a == b)); a = 21; b = 65536 + 1; assert((a < b)); assert((a <= b)); assert(!(a > b)); assert(!(a >= b)); assert((a != b)); assert(!(a == b)); } if ((INT_TYPE)(~0) > 4294967295) { volatile unsigned long a, b; a = 4294967296 + 2; b = 4294967296 + 21; assert((a < b)); assert((a <= b)); assert(!(a > b)); assert(!(a >= b)); assert((a != b)); assert(!(a == b)); a = 21; b = 4294967296 + 1; assert((a < b)); assert((a <= b)); assert(!(a > b)); assert(!(a >= b)); assert((a != b)); assert(!(a == b)); } } a = 8; b = 1; assert((a > b)); assert((a >= b)); assert(!(a < b)); assert(!(a <= b)); assert((a != b)); assert(!(a == b)); if ((INT_TYPE)(~0) > 255) { volatile unsigned short a, b; a = 256 + 2; b = 256 + 1; assert((a > b)); assert((a >= b)); assert(!(a < b)); assert(!(a <= b)); assert((a != b)); assert(!(a == b)); a = 256 + 2; b = 6; assert((a > b)); assert((a >= b)); assert(!(a < b)); assert(!(a <= b)); assert((a != b)); assert(!(a == b)); if ((INT_TYPE)(~0) > 65535) { volatile unsigned int a, b; a = 65536 + 2; b = 65536 + 1; assert((a > b)); assert((a >= b)); assert(!(a < b)); assert(!(a <= b)); assert((a != b)); assert(!(a == b)); a = 65536 + 2; b = 6; assert((a > b)); assert((a >= b)); assert(!(a < b)); assert(!(a <= b)); assert((a != b)); assert(!(a == b)); if ((INT_TYPE)(~0) > 4294967295) { volatile unsigned long a, b; a = 4294967296 + 2; b = 4294967296 + 1; assert((a > b)); assert((a >= b)); assert(!(a < b)); assert(!(a <= b)); assert((a != b)); assert(!(a == b)); a = 4294967296 + 2; b = 6; assert((a > b)); assert((a >= b)); assert(!(a < b)); assert(!(a <= b)); assert((a != b)); assert(!(a == b)); } } } a = 0; b = 0; assert(!(a < b)); assert((a <= b)); assert(!(a > b)); assert((a >= b)); assert(!(a != b)); assert((a == b)); a = 1; b = 1; assert(!(a < b)); assert((a <= b)); assert(!(a > b)); assert((a >= b)); assert(!(a != b)); assert((a == b)); if ((INT_TYPE)(~0) > 255) { volatile unsigned short a, b; a = 256 + 5; b = 256 + 5; assert(!(a < b)); assert((a <= b)); assert(!(a > b)); assert((a >= b)); assert(!(a != b)); assert((a == b)); if ((INT_TYPE)(~0) > 65535) { volatile unsigned int a, b; a = 65536 + 5; b = 65536 + 5; assert(!(a < b)); assert((a <= b)); assert(!(a > b)); assert((a >= b)); assert(!(a != b)); assert((a == b)); if ((INT_TYPE)(~0) > 4294967295) { volatile unsigned long a, b; a = 4294967296 + 5; b = 4294967296 + 5; assert(!(a < b)); assert((a <= b)); assert(!(a > b)); assert((a >= b)); assert(!(a != b)); assert((a == b)); } } } }