Definition at line 15 of file ZZp.cpp.
16{
19
21 int i, j, q, n;
22
25 else
27
30 else
31 {
32 j = 1;
33 for (i = 2; (i <
P && j <
P - 1); i++)
34 for (q = i, j = 1; (q != 1 && j <
P); q = (q * i) %
P, j++)
35 ;
37 }
38
39
42 for (i = 0, n = 1; i <
P - 1; i++, n = (n *
_prim_root) %
P)
43 {
46 }
50
52
56
59
60
61 return true;
62}
void initialize_ring(long charac, const PolynomialRing *DR=nullptr, const std::vector< int > &heft_vec={})
virtual ring_elem from_long(long n) const
CoefficientRingZZp * coeffR
#define newarray_atomic(T, len)
References _exp_table, _log_table, _minus_one, _P1, _prim_root, _ZERO, aringZZp, coeffR, Ring::declare_field(), from_long(), Ring::initialize_ring(), Ring::minus_oneV, newarray_atomic, Ring::oneV, P, p, and Ring::zeroV.