/* !!DESCRIPTION!! A small test for aslax7. !!ORIGIN!! !!LICENCE!! !!AUTHOR!! */ #include #include #include #include #include int main (void) { signed int ai = -32768, ti, refi; signed char ac = -128, tc, refc; do { refi = ai << 4; refi = refi << 3; ti = ai << 7; if (ti != refi) { printf("wrong result on int %d << 7: %04X, expected %04X\n", ai, ti, refi); return 1; } } while (++ai != -32768); do { refc = ac << 4; refc = refc << 3; tc = ac << 7; if (tc != refc) { printf("wrong result on char %d << 7: %04X, expected %04X\n", ac, tc, refc); return 1; } } while (++ac != -128); return 0; }