| /* Copyright (C) 2002 Free Software Foundation. |
| |
| Test for correctness of composite comparisons. |
| |
| Written by Roger Sayle, 3rd June 2002. */ |
| |
| extern void abort (void); |
| |
| int ieq (int x, int y, int ok) |
| { |
| if ((x<=y) && (x>=y)) |
| { |
| if (!ok) abort (); |
| } |
| else |
| if (ok) abort (); |
| |
| if ((x<=y) && (x==y)) |
| { |
| if (!ok) abort (); |
| } |
| else |
| if (ok) abort (); |
| |
| if ((x<=y) && (y<=x)) |
| { |
| if (!ok) abort (); |
| } |
| else |
| if (ok) abort (); |
| |
| if ((y==x) && (x<=y)) |
| { |
| if (!ok) abort (); |
| } |
| else |
| if (ok) abort (); |
| } |
| |
| int ine (int x, int y, int ok) |
| { |
| if ((x<y) || (x>y)) |
| { |
| if (!ok) abort (); |
| } |
| else |
| if (ok) abort (); |
| } |
| |
| int ilt (int x, int y, int ok) |
| { |
| if ((x<y) && (x!=y)) |
| { |
| if (!ok) abort (); |
| } |
| else |
| if (ok) abort (); |
| } |
| |
| int ile (int x, int y, int ok) |
| { |
| if ((x<y) || (x==y)) |
| { |
| if (!ok) abort (); |
| } |
| else |
| if (ok) abort (); |
| } |
| |
| int igt (int x, int y, int ok) |
| { |
| if ((x>y) && (x!=y)) |
| { |
| if (!ok) abort (); |
| } |
| else |
| if (ok) abort (); |
| } |
| |
| int ige (int x, int y, int ok) |
| { |
| if ((x>y) || (x==y)) |
| { |
| if (!ok) abort (); |
| } |
| else |
| if (ok) abort (); |
| } |
| |
| int |
| main () |
| { |
| ieq (1, 4, 0); |
| ieq (3, 3, 1); |
| ieq (5, 2, 0); |
| |
| ine (1, 4, 1); |
| ine (3, 3, 0); |
| ine (5, 2, 1); |
| |
| ilt (1, 4, 1); |
| ilt (3, 3, 0); |
| ilt (5, 2, 0); |
| |
| ile (1, 4, 1); |
| ile (3, 3, 1); |
| ile (5, 2, 0); |
| |
| igt (1, 4, 0); |
| igt (3, 3, 0); |
| igt (5, 2, 1); |
| |
| ige (1, 4, 0); |
| ige (3, 3, 1); |
| ige (5, 2, 1); |
| |
| return 0; |
| } |
| |