Viewing file: divmod-1.c (1.04 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
div1 (signed char x) { return x / -1; }
div2 (signed short x) { return x / -1; }
div3 (signed char x, signed char y) { return x / y; }
div4 (signed short x, signed short y) { return x / y; }
mod1 (signed char x) { return x % -1; }
mod2 (signed short x) { return x % -1; }
mod3 (signed char x, signed char y) { return x % y; }
mod4 (signed short x, signed short y) { return x % y; }
signed long mod5 (signed long x, signed long y) { return x % y; } unsigned long mod6 (unsigned long x, unsigned long y) { return x % y; } main () { if (div1 (-(1 << 7)) != 1 << 7) abort (); if (div2 (-(1 << 15)) != 1 << 15) abort (); if (div3 (-(1 << 7), -1) != 1 << 7) abort (); if (div4 (-(1 << 15), -1) != 1 << 15) abort (); if (mod1 (-(1 << 7)) != 0) abort (); if (mod2 (-(1 << 15)) != 0) abort (); if (mod3 (-(1 << 7), -1) != 0) abort (); if (mod4 (-(1 << 15), -1) != 0) abort (); if (mod5 (0x50000000, 2) != 0) abort (); if (mod6 (0x50000000, 2) != 0) abort (); exit (0); }
|