struct Primpolytest { Int N, nfactors; VecUllong factors; VecInt t,a,p; Primpolytest() : N(32), nfactors(5), factors(nfactors), t(N*N), a(N*N), p(N*N) { Ullong factordata[5] = {3,5,17,257,65537}; for (Int i=0;i>= 1; if (n == 0) break; mattimeseq(a,a); } } Int test(Ullong n) { Int i,k,j; Ullong pow, tnm1, nn = n; tnm1 = ((Ullong)1 << N) - 1; if (n > (tnm1 >> 1)) throw("not a polynomial of degree N"); for (k=0; k>= 1; j++; } t[N-1] = 1; for (k=0; k