]> www.ginac.de Git - cln.git/blob - tests/timeMIpow2div.cc
54c36a977198f5107db558ff272f3a6a4fc3f3b3
[cln.git] / tests / timeMIpow2div.cc
1 #include <cl_number.h>
2 #include <cl_io.h>
3 #include <cl_integer.h>
4 #include <cl_modinteger.h>
5 #include <stdlib.h>
6 #include <string.h>
7 #include <cl_timing.h>
8
9 int main (int argc, char * argv[])
10 {
11         int repetitions = 1;
12         if ((argc >= 3) && !strcmp(argv[1],"-r")) {
13                 repetitions = atoi(argv[2]);
14                 argc -= 2; argv += 2;
15         }
16         if (argc < 2)
17                 exit(1);
18         uintL len = atoi(argv[1]);
19         cl_modint_ring R = cl_find_modint_ring((cl_I)1 << (intDsize*len));
20         cl_MI a = R->random();
21         cl_MI b;
22         do { b = R->random(); } while (!oddp(R->retract(b)));
23         { CL_TIMING;
24           for (int rep = repetitions; rep > 0; rep--)
25             { cl_MI c = R->div(a,b); }
26         }
27 }