PageRenderTime 40ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/cln-1.3.2/tests/test_I_GV.cc

#
C++ | 21 lines | 20 code | 1 blank | 0 comment | 4 complexity | 8a5048aee224d026ae89a1c072a481ae MD5 | raw file
Possible License(s): GPL-2.0
  1. #include "test_I.h"
  2. #include "cln/GV_integer.h"
  3. int test_I_GV (int iterations)
  4. {
  5. int error = 0;
  6. int i;
  7. for (i = iterations; i > 0; i--) {
  8. uintL m = random32() % 70;
  9. uintL len = random32() % 64;
  10. cl_GV_I v = cl_GV_I(len,m);
  11. cl_I M = random_I((cl_I)1 << m) + 1; // 0 < M <= 2^m
  12. cl_I a = random_I(M);
  13. int j;
  14. for (j = 0; j < len; j++)
  15. v[j] = mod(a*(j*j),M);
  16. for (j = len-1; j >= 0; j--)
  17. ASSERT4(v[j] == mod(a*(j*j),M), m,len,M,j);
  18. }
  19. return error;
  20. }