/cln-1.3.2/tests/timegcd.cc
C++ | 30 lines | 28 code | 1 blank | 1 comment | 4 complexity | e29528e8dee467db7fdc6a0fd6e502ab MD5 | raw file
Possible License(s): GPL-2.0
1#include <cln/number.h>
2#include <cln/io.h>
3#include <cln/integer.h>
4#include <cln/random.h>
5#include <cstdlib>
6#include <cstring>
7#include <cln/timing.h>
8using namespace cln;
9
10int main (int argc, char * argv[])
11{
12 int repetitions = 1;
13 if ((argc >= 3) && !strcmp(argv[1],"-r")) {
14 repetitions = atoi(argv[2]);
15 argc -= 2; argv += 2;
16 }
17 if (argc < 2)
18 exit(1);
19 cl_I m1 = cl_I(argv[1]);
20 cl_I M1 = (cl_I)1 << (intDsize*m1);
21 cl_I m2 = (argc>2 ? cl_I(argv[2]) : m1);
22 cl_I M2 = (cl_I)1 << (intDsize*m2);
23 cl_I a = random_I(M1);
24 cl_I b = random_I(M2);
25 { CL_TIMING;
26 for (int rep = repetitions; rep > 0; rep--)
27 { cl_I g = gcd(a,b); }
28// { cl_I u; cl_I v; cl_I g = xgcd(a,b,&u,&v); }
29 }
30}