template<typename Int>
class LatMRG::FlexModInt< Int >
The FlexModInt class permits one to use the NTL functions that work on integers, vectors, and polynomials over Z_p (with arithmetic modulo p) using the flexible type Int for the modulus and coefficients.
In NTL, these functions are in different files, with names ZZ_* for ZZ and zz_* for int64_t. Below, we give the generic (template) names IntP, PolE, PolX, IntVecP, IntMatP to some of these files, and the meaning of these names depend on the template Int. To use the appropriate version for type Int, it suffices to prefix the generic file name by FlexModInt<Int>::. For example, FlexModInt<Int>::IntP::init(p) calls the init function from ZZ_p or zz_p, and FlexModInt<Int>::PolX f; declares a polynomial from ZZ_pX or zz_pX, depending on the meaning of Int. The modulus p that is used in those classes for a given Int type must be set via setModulusIntP<Int>(p);.