]> www.ginac.de Git - cln.git/blob - tests/test_I.cc
Move factorial check from test section to exam section...
[cln.git] / tests / test_I.cc
1 #include <iostream>
2
3 // Elementary operations.
4 extern int test_I_abs (int iterations);
5 extern int test_I_compare (int iterations);
6 extern int test_I_plus (int iterations);
7 extern int test_I_minus (int iterations);
8 extern int test_I_plus1 (int iterations);
9 extern int test_I_minus1 (int iterations);
10 extern int test_I_mul (int iterations);
11 extern int test_I_div (int iterations);
12 // Euclidean ring operations.
13 extern int test_I_gcd (int iterations);
14 extern int test_I_xgcd (int iterations);
15 // Bit vector operations.
16 extern int test_I_ash (int iterations);
17 extern int test_I_evenp (int iterations);
18 extern int test_I_oddp (int iterations);
19 extern int test_I_lognot (int iterations);
20 extern int test_I_logand (int iterations);
21 extern int test_I_logandc1 (int iterations);
22 extern int test_I_logandc2 (int iterations);
23 extern int test_I_logior (int iterations);
24 extern int test_I_logorc1 (int iterations);
25 extern int test_I_logorc2 (int iterations);
26 extern int test_I_logxor (int iterations);
27 extern int test_I_lognand (int iterations);
28 extern int test_I_lognor (int iterations);
29 extern int test_I_logeqv (int iterations);
30 extern int test_I_boole (int iterations);
31 extern int test_I_logbitp (int iterations);
32 extern int test_I_logtest (int iterations);
33 extern int test_I_ldb (int iterations);
34 extern int test_I_ldb_test (int iterations);
35 extern int test_I_mask_field (int iterations);
36 extern int test_I_dpb (int iterations);
37 extern int test_I_deposit_field (int iterations);
38 extern int test_I_logcount (int iterations);
39 extern int test_I_integer_length (int iterations);
40 extern int test_I_ord2 (int iterations);
41 extern int test_I_power2p (int iterations);
42 // More complex operations.
43 extern int test_I_isqrt (int iterations);
44 extern int test_I_sqrtp (int iterations);
45 // Miscellaneous.
46 extern int test_I_io (int iterations);
47 extern int test_I_GV (int iterations);
48
49 #define RUN(tester,iterations)  \
50         std::cout << "Testing "#tester"..." << std::endl; \
51         error |= tester (iterations);
52
53
54 int test_I (int iterations)
55 {
56         int error = 0;
57         // Elementary operations.
58         RUN(test_I_abs,iterations);
59         RUN(test_I_compare,iterations);
60         RUN(test_I_plus,iterations);
61         RUN(test_I_minus,iterations);
62         RUN(test_I_plus1,iterations);
63         RUN(test_I_minus1,iterations);
64         RUN(test_I_mul,iterations);
65         RUN(test_I_div,iterations);
66         // Euclidean ring operations.
67         RUN(test_I_gcd,iterations);
68         RUN(test_I_xgcd,iterations);
69         // Bit vector operations.
70         RUN(test_I_ash,iterations);
71         RUN(test_I_evenp,iterations);
72         RUN(test_I_oddp,iterations);
73         RUN(test_I_lognot,iterations);
74         RUN(test_I_logand,iterations);
75         RUN(test_I_logandc1,iterations);
76         RUN(test_I_logandc2,iterations);
77         RUN(test_I_logior,iterations);
78         RUN(test_I_logorc1,iterations);
79         RUN(test_I_logorc2,iterations);
80         RUN(test_I_logxor,iterations);
81         RUN(test_I_lognand,iterations);
82         RUN(test_I_lognor,iterations);
83         RUN(test_I_logeqv,iterations);
84         RUN(test_I_boole,iterations);
85         RUN(test_I_logbitp,iterations);
86         RUN(test_I_logtest,iterations);
87         RUN(test_I_ldb,iterations);
88         RUN(test_I_ldb_test,iterations);
89         RUN(test_I_mask_field,iterations);
90         RUN(test_I_dpb,iterations);
91         RUN(test_I_deposit_field,iterations);
92         RUN(test_I_logcount,iterations);
93         RUN(test_I_integer_length,iterations);
94         RUN(test_I_ord2,iterations);
95         RUN(test_I_power2p,iterations);
96         // More complex operations.
97         RUN(test_I_isqrt,iterations);
98         RUN(test_I_sqrtp,iterations);
99         // Miscellaneous.
100         RUN(test_I_io,iterations);
101         RUN(test_I_GV,iterations);
102         return error;
103 }