| @ -1,305 +0,0 @@ | |||||
| #include <stdio.h> | |||||
| #include "aux.h" | |||||
| int test[32] = { | |||||
| 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 0x80, | |||||
| 0x90, 0xa0, 0xb0, 0xc0, 0xd0, 0xe0, 0xf0, 0xff, | |||||
| 0x10ff, 0x20ff, 0x30ff, 0x40ff, 0x50ff, 0x60ff, 0x70ff, 0x80ff, | |||||
| 0x90ff, 0xa0ff, 0xb0ff, 0xc0ff, 0xd0ff, 0xe0ff, 0xf0ff, 0xffff, | |||||
| }; | |||||
| void exsrx(int x, int exp, unsigned int s, int ex) { | |||||
| int ret = mybsearch(test, s, sizeof(int), &x, 0, sizeof(x), ex); | |||||
| if (ret != exp) | |||||
| fprintf(stderr, "TEST FAILED! params=%u %i; result=%i, expected=%i\n", s, ex, ret, exp); | |||||
| } | |||||
| void exsr1(int x, int exp) { | |||||
| exsrx(x, exp, 16, 1); | |||||
| } | |||||
| void exsr2(int x, int exp) { | |||||
| exsrx(x, exp, 15, 1); | |||||
| } | |||||
| void exsr3(int x, int exp) { | |||||
| exsrx(x, exp, 2, 1); | |||||
| } | |||||
| void exsr4(int x, int exp) { | |||||
| exsrx(x, exp, 1, 1); | |||||
| } | |||||
| void exsr5(int x, int exp) { | |||||
| exsrx(x, exp, 32, 1); | |||||
| } | |||||
| void exsr6(int x, int exp) { | |||||
| exsrx(x, exp, 31, 1); | |||||
| } | |||||
| void exsr7(int x, int exp) { | |||||
| exsrx(x, exp, 16, 0); | |||||
| } | |||||
| void exsr8(int x, int exp) { | |||||
| exsrx(x, exp, 15, 0); | |||||
| } | |||||
| void exsr9(int x, int exp) { | |||||
| exsrx(x, exp, 2, 0); | |||||
| } | |||||
| void exsr10(int x, int exp) { | |||||
| exsrx(x, exp, 1, 0); | |||||
| } | |||||
| void exsr11(int x, int exp) { | |||||
| exsrx(x, exp, 32, 0); | |||||
| } | |||||
| void exsr12(int x, int exp) { | |||||
| exsrx(x, exp, 31, 0); | |||||
| } | |||||
| int main() { | |||||
| exsr1(0x10, 0); | |||||
| exsr1(0x20, 1); | |||||
| exsr1(0x30, 2); | |||||
| exsr1(0x40, 3); | |||||
| exsr1(0x50, 4); | |||||
| exsr1(0x60, 5); | |||||
| exsr1(0x70, 6); | |||||
| exsr1(0x80, 7); | |||||
| exsr1(0x90, 8); | |||||
| exsr1(0xa0, 9); | |||||
| exsr1(0xb0, 10); | |||||
| exsr1(0xc0, 11); | |||||
| exsr1(0xd0, 12); | |||||
| exsr1(0xe0, 13); | |||||
| exsr1(0xf0, 14); | |||||
| exsr1(0xff, 15); | |||||
| exsr1(0xffff, -1); | |||||
| exsr1(0xfe, -1); | |||||
| exsr2(0x10, 0); | |||||
| exsr2(0x20, 1); | |||||
| exsr2(0x30, 2); | |||||
| exsr2(0x40, 3); | |||||
| exsr2(0x50, 4); | |||||
| exsr2(0x60, 5); | |||||
| exsr2(0x70, 6); | |||||
| exsr2(0x80, 7); | |||||
| exsr2(0x90, 8); | |||||
| exsr2(0xa0, 9); | |||||
| exsr2(0xb0, 10); | |||||
| exsr2(0xc0, 11); | |||||
| exsr2(0xd0, 12); | |||||
| exsr2(0xe0, 13); | |||||
| exsr2(0xf0, 14); | |||||
| exsr2(0xff, -1); | |||||
| exsr3(0x10, 0); | |||||
| exsr3(0x20, 1); | |||||
| exsr3(0x30, -1); | |||||
| exsr4(0x10, 0); | |||||
| exsr4(0x20, -1); | |||||
| exsr5(0x10, 0); | |||||
| exsr5(0x20, 1); | |||||
| exsr5(0x30, 2); | |||||
| exsr5(0x40, 3); | |||||
| exsr5(0x50, 4); | |||||
| exsr5(0x60, 5); | |||||
| exsr5(0x70, 6); | |||||
| exsr5(0x80, 7); | |||||
| exsr5(0x90, 8); | |||||
| exsr5(0xa0, 9); | |||||
| exsr5(0xb0, 10); | |||||
| exsr5(0xc0, 11); | |||||
| exsr5(0xd0, 12); | |||||
| exsr5(0xe0, 13); | |||||
| exsr5(0xf0, 14); | |||||
| exsr5(0xff, 15); | |||||
| exsr5(0x10ff, 16); | |||||
| exsr5(0x20ff, 17); | |||||
| exsr5(0x30ff, 18); | |||||
| exsr5(0x40ff, 19); | |||||
| exsr5(0x50ff, 20); | |||||
| exsr5(0x60ff, 21); | |||||
| exsr5(0x70ff, 22); | |||||
| exsr5(0x80ff, 23); | |||||
| exsr5(0x90ff, 24); | |||||
| exsr5(0xa0ff, 25); | |||||
| exsr5(0xb0ff, 26); | |||||
| exsr5(0xc0ff, 27); | |||||
| exsr5(0xd0ff, 28); | |||||
| exsr5(0xe0ff, 29); | |||||
| exsr5(0xf0ff, 30); | |||||
| exsr5(0xffff, 31); | |||||
| exsr5(0xfff3, -1); | |||||
| exsr5(0xffffff, -1); | |||||
| exsr6(0x10, 0); | |||||
| exsr6(0x20, 1); | |||||
| exsr6(0x30, 2); | |||||
| exsr6(0x40, 3); | |||||
| exsr6(0x50, 4); | |||||
| exsr6(0x60, 5); | |||||
| exsr6(0x70, 6); | |||||
| exsr6(0x80, 7); | |||||
| exsr6(0x90, 8); | |||||
| exsr6(0xa0, 9); | |||||
| exsr6(0xb0, 10); | |||||
| exsr6(0xc0, 11); | |||||
| exsr6(0xd0, 12); | |||||
| exsr6(0xe0, 13); | |||||
| exsr6(0xf0, 14); | |||||
| exsr6(0xff, 15); | |||||
| exsr6(0x10ff, 16); | |||||
| exsr6(0x20ff, 17); | |||||
| exsr6(0x30ff, 18); | |||||
| exsr6(0x40ff, 19); | |||||
| exsr6(0x50ff, 20); | |||||
| exsr6(0x60ff, 21); | |||||
| exsr6(0x70ff, 22); | |||||
| exsr6(0x80ff, 23); | |||||
| exsr6(0x90ff, 24); | |||||
| exsr6(0xa0ff, 25); | |||||
| exsr6(0xb0ff, 26); | |||||
| exsr6(0xc0ff, 27); | |||||
| exsr6(0xd0ff, 28); | |||||
| exsr6(0xe0ff, 29); | |||||
| exsr6(0xf0ff, 30); | |||||
| exsr6(0xffff, -1); | |||||
| exsr7(0x10, 0); | |||||
| exsr7(0x20, 1); | |||||
| exsr7(0x30, 2); | |||||
| exsr7(0x40, 3); | |||||
| exsr7(0x50, 4); | |||||
| exsr7(0x60, 5); | |||||
| exsr7(0x70, 6); | |||||
| exsr7(0x80, 7); | |||||
| exsr7(0x90, 8); | |||||
| exsr7(0xa0, 9); | |||||
| exsr7(0xb0, 10); | |||||
| exsr7(0xc0, 11); | |||||
| exsr7(0xd0, 12); | |||||
| exsr7(0xe0, 13); | |||||
| exsr7(0xf0, 14); | |||||
| exsr7(0xff, 15); | |||||
| exsr7(0xffff, -17); | |||||
| exsr7(0xfe, -16); | |||||
| exsr7(0x00, -1); | |||||
| exsr8(0x05, -1); | |||||
| exsr8(0x15, -2); | |||||
| exsr8(0x10, 0); | |||||
| exsr8(0x20, 1); | |||||
| exsr8(0x30, 2); | |||||
| exsr8(0x40, 3); | |||||
| exsr8(0x50, 4); | |||||
| exsr8(0x60, 5); | |||||
| exsr8(0x70, 6); | |||||
| exsr8(0x80, 7); | |||||
| exsr8(0x90, 8); | |||||
| exsr8(0xa0, 9); | |||||
| exsr8(0xb0, 10); | |||||
| exsr8(0xc0, 11); | |||||
| exsr8(0xd0, 12); | |||||
| exsr8(0xe0, 13); | |||||
| exsr8(0xf0, 14); | |||||
| exsr8(0xff, -16); | |||||
| exsr8(0xffff, -16); | |||||
| exsr8(0xef, -15); | |||||
| exsr8(0x00, -1); | |||||
| exsr8(0x05, -1); | |||||
| exsr8(0x15, -2); | |||||
| exsr9(0x10, 0); | |||||
| exsr9(0x20, 1); | |||||
| exsr9(0x30, -3); | |||||
| exsr10(0x10, 0); | |||||
| exsr10(0x20, -2); | |||||
| exsr11(0x10, 0); | |||||
| exsr11(0x20, 1); | |||||
| exsr11(0x30, 2); | |||||
| exsr11(0x40, 3); | |||||
| exsr11(0x50, 4); | |||||
| exsr11(0x60, 5); | |||||
| exsr11(0x70, 6); | |||||
| exsr11(0x80, 7); | |||||
| exsr11(0x90, 8); | |||||
| exsr11(0xa0, 9); | |||||
| exsr11(0xb0, 10); | |||||
| exsr11(0xc0, 11); | |||||
| exsr11(0xd0, 12); | |||||
| exsr11(0xe0, 13); | |||||
| exsr11(0xf0, 14); | |||||
| exsr11(0xff, 15); | |||||
| exsr11(0x10ff, 16); | |||||
| exsr11(0x20ff, 17); | |||||
| exsr11(0x30ff, 18); | |||||
| exsr11(0x40ff, 19); | |||||
| exsr11(0x50ff, 20); | |||||
| exsr11(0x60ff, 21); | |||||
| exsr11(0x70ff, 22); | |||||
| exsr11(0x80ff, 23); | |||||
| exsr11(0x90ff, 24); | |||||
| exsr11(0xa0ff, 25); | |||||
| exsr11(0xb0ff, 26); | |||||
| exsr11(0xc0ff, 27); | |||||
| exsr11(0xd0ff, 28); | |||||
| exsr11(0xe0ff, 29); | |||||
| exsr11(0xf0ff, 30); | |||||
| exsr11(0xffff, 31); | |||||
| exsr11(0xfff3, -16); | |||||
| exsr11(0xffffff, -33); | |||||
| exsr12(0x10, 0); | |||||
| exsr12(0x20, 1); | |||||
| exsr12(0x30, 2); | |||||
| exsr12(0x40, 3); | |||||
| exsr12(0x50, 4); | |||||
| exsr12(0x60, 5); | |||||
| exsr12(0x70, 6); | |||||
| exsr12(0x80, 7); | |||||
| exsr12(0x90, 8); | |||||
| exsr12(0xa0, 9); | |||||
| exsr12(0xb0, 10); | |||||
| exsr12(0xc0, 11); | |||||
| exsr12(0xd0, 12); | |||||
| exsr12(0xe0, 13); | |||||
| exsr12(0xf0, 14); | |||||
| exsr12(0xff, 15); | |||||
| exsr12(0x10ff, 16); | |||||
| exsr12(0x20ff, 17); | |||||
| exsr12(0x30ff, 18); | |||||
| exsr12(0x40ff, 19); | |||||
| exsr12(0x50ff, 20); | |||||
| exsr12(0x60ff, 21); | |||||
| exsr12(0x70ff, 22); | |||||
| exsr12(0x80ff, 23); | |||||
| exsr12(0x90ff, 24); | |||||
| exsr12(0xa0ff, 25); | |||||
| exsr12(0xb0ff, 26); | |||||
| exsr12(0xc0ff, 27); | |||||
| exsr12(0xd0ff, 28); | |||||
| exsr12(0xe0ff, 29); | |||||
| exsr12(0xf0ff, 30); | |||||
| exsr12(0xffff, -32); | |||||
| printf("all done\n"); | |||||
| return 0; | |||||
| } | |||||