Annotation of hatari/tests/cpu/int_test.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * CPU integer arithmetics tests.
                      3:  *
                      4:  * This file is distributed under the GNU General Public License, version 2
                      5:  * or at your option any later version. Read the file gpl.txt for details.
                      6:  */
                      7: 
                      8: #include <tos.h>
                      9: 
                     10: extern char tst_abcd_1(void);
                     11: extern char tst_abcd_2(void);
                     12: extern char tst_abcd_3(void);
                     13: extern char tst_abcd_4(void);
                     14: 
                     15: extern char tst_add_1(void);
                     16: extern char tst_add_2(void);
                     17: extern char tst_add_3(void);
                     18: extern char tst_add_4(void);
                     19: extern char tst_add_5(void);
                     20: extern char tst_add_6(void);
                     21: extern char tst_add_7(void);
                     22: 
                     23: extern char tst_addi_1(void);
                     24: extern char tst_addi_2(void);
                     25: extern char tst_addi_3(void);
                     26: extern char tst_addi_4(void);
                     27: extern char tst_addi_5(void);
                     28: extern char tst_addi_6(void);
                     29: 
                     30: extern char tst_addq_1(void);
                     31: extern char tst_addq_2(void);
                     32: extern char tst_addq_3(void);
                     33: 
                     34: extern char tst_addx_1(void);
                     35: extern char tst_addx_2(void);
                     36: 
                     37: extern char tst_shift_1(void);
                     38: extern char tst_shift_2(void);
                     39: extern char tst_shift_3(void);
                     40: extern char tst_shift_4(void);
                     41: extern char tst_shift_5(void);
                     42: extern char tst_shift_6(void);
                     43: extern char tst_shift_7(void);
                     44: extern char tst_shift_8(void);
                     45: 
                     46: struct test
                     47: {
                     48:        char *name;
                     49:        char (*testfunc)(void);
                     50: };
                     51: 
                     52: struct test tests[] =
                     53: {
                     54:        { "abcd 1", tst_abcd_1 },
                     55:        { "abcd 2", tst_abcd_2 },
                     56:        { "abcd 3", tst_abcd_3 },
                     57:        { "abcd 4", tst_abcd_4 },
                     58: 
                     59:        { "add 1", tst_add_1 },
                     60:        { "add 2", tst_add_2 },
                     61:        { "add 3", tst_add_3 },
                     62:        { "add 4", tst_add_4 },
                     63:        { "add 5", tst_add_5 },
                     64:        { "add 6", tst_add_6 },
                     65:        { "add 7", tst_add_7 },
                     66: 
                     67:        { "addi 1", tst_addi_1 },
                     68:        { "addi 2", tst_addi_2 },
                     69:        { "addi 3", tst_addi_3 },
                     70:        { "addi 4", tst_addi_4 },
                     71:        { "addi 5", tst_addi_5 },
                     72:        { "addi 6", tst_addi_6 },
                     73: 
                     74:        { "addq 1", tst_addq_1 },
                     75:        { "addq 2", tst_addq_2 },
                     76:        { "addq 3", tst_addq_3 },
                     77: 
                     78:        { "addx 1", tst_addx_1 },
                     79:        { "addx 2", tst_addx_2 },
                     80: 
                     81:        { "shift 1", tst_shift_1 },
                     82:        { "shift 2", tst_shift_2 },
                     83:        { "shift 3", tst_shift_3 },
                     84:        { "shift 4", tst_shift_4 },
                     85:        { "shift 5", tst_shift_5 },
                     86:        { "shift 6", tst_shift_6 },
                     87:        { "shift 7", tst_shift_7 },
                     88:        { "shift 8", tst_shift_8 },
                     89: 
                     90:        { 0L, 0L }
                     91: };
                     92: 
                     93: int main()
                     94: {
                     95:        int failures = 0;
                     96:        int idx;
                     97: 
                     98:        for (idx = 0; tests[idx].name != 0L; idx++)
                     99:        {
                    100:                Cconws("Test '");
                    101:                Cconws(tests[idx].name);
                    102:                Cconws("'\t: ");
                    103:                if (tests[idx].testfunc() != 0)
                    104:                {
                    105:                        Cconws("FAILED\n");
                    106:                        failures++;
                    107:                }
                    108:                else
                    109:                {
                    110:                        Cconws("OK\n");
                    111:                }
                    112:        }
                    113: 
                    114:        // Crawcin();
                    115: 
                    116:        return !(failures == 0);
                    117: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.