]> www.ginac.de Git - cln.git/blob - tests/test_I_logand.cc
* Fix typo.
[cln.git] / tests / test_I_logand.cc
1 #include "test_I.h"
2
3 int test_I_logand (int iterations)
4 {
5         int error = 0;
6         int i;
7         // Check commutativity.
8         for (i = iterations; i > 0; i--) {
9                 cl_I a = testrandom_I();
10                 cl_I b = testrandom_I();
11                 ASSERT2(logand(a,b) == logand(b,a), a,b);
12         }
13         // Check against ash and oddp.
14         for (i = iterations; i > 0; i--) {
15                 cl_I a = testrandom_I();
16                 cl_I b = testrandom_I();
17                 ASSERT2(oddp(logand(a,b)) == (oddp(a) & oddp(b)), a,b);
18                 sintL c = random32() % 1024;
19                 ASSERT3(logand(ash(a,c),ash(b,c)) == ash(logand(a,b),c), a,b,c);
20                 ASSERT3(logand(ash(a,-c),ash(b,-c)) == ash(logand(a,b),-c), a,b,c);
21         }
22         return error;
23 }