|  | 
|  | GeneralizedFermatPrimeField (mpz_class a) | 
|  | 
|  | GeneralizedFermatPrimeField (int a) | 
|  | 
|  | GeneralizedFermatPrimeField (const GeneralizedFermatPrimeField &c) | 
|  | 
|  | GeneralizedFermatPrimeField (const Integer &c) | 
|  | 
|  | GeneralizedFermatPrimeField (const RationalNumber &c) | 
|  | 
|  | GeneralizedFermatPrimeField (const SmallPrimeField &c) | 
|  | 
|  | GeneralizedFermatPrimeField (const BigPrimeField &c) | 
|  | 
|  | GeneralizedFermatPrimeField (const DenseUnivariateIntegerPolynomial &c) | 
|  | 
|  | GeneralizedFermatPrimeField (const DenseUnivariateRationalPolynomial &c) | 
|  | 
|  | GeneralizedFermatPrimeField (const SparseUnivariatePolynomial< Integer > &c) | 
|  | 
|  | GeneralizedFermatPrimeField (const SparseUnivariatePolynomial< RationalNumber > &c) | 
|  | 
|  | GeneralizedFermatPrimeField (const SparseUnivariatePolynomial< ComplexRationalNumber > &c) | 
|  | 
| template<class Ring > | 
|  | GeneralizedFermatPrimeField (const SparseUnivariatePolynomial< Ring > &c) | 
|  | 
| GeneralizedFermatPrimeField * | GPFpointer (GeneralizedFermatPrimeField *a) | 
|  | 
| GeneralizedFermatPrimeField * | GPFpointer (RationalNumber *a) | 
|  | 
| GeneralizedFermatPrimeField * | GPFpointer (SmallPrimeField *a) | 
|  | 
| GeneralizedFermatPrimeField * | GPFpointer (BigPrimeField *a) | 
|  | 
| mpz_class | getCharacteristic () const override | 
|  | The characteristic of this ring class. 
 | 
|  | 
| void | setX (mpz_class a) | 
|  | 
| mpz_class | Prime () const | 
|  | 
| mpz_class | number () const | 
|  | 
| GeneralizedFermatPrimeField | unitCanonical (GeneralizedFermatPrimeField *u=NULL, GeneralizedFermatPrimeField *v=NULL) const | 
|  | Obtain the unit normal (a.k.a canonical associate) of an element.  More... 
 | 
|  | 
| GeneralizedFermatPrimeField | findPrimitiveRootOfUnity (long int n) const | 
|  | 
| GeneralizedFermatPrimeField & | operator= (const GeneralizedFermatPrimeField &c) | 
|  | Copy assignment. 
 | 
|  | 
| GeneralizedFermatPrimeField & | operator= (const mpz_class &c) | 
|  | 
| GeneralizedFermatPrimeField & | operator= (int c) | 
|  | 
| bool | isZero () const | 
|  | Determine if *this ring element is zero, that is the additive identity.  More... 
 | 
|  | 
| void | zero () | 
|  | Make *this ring element zero. 
 | 
|  | 
| bool | isOne () const | 
|  | Determine if *this ring element is one, that is the multiplication identity.  More... 
 | 
|  | 
| void | one () | 
|  | Make *this ring element one. 
 | 
|  | 
| bool | isNegativeOne () const | 
|  | 
| void | negativeOne () | 
|  | 
| int | isConstant () const | 
|  | 
| bool | operator== (const GeneralizedFermatPrimeField &c) const | 
|  | Equality test,.  More... 
 | 
|  | 
| bool | operator== (const mpz_class &c) const | 
|  | 
| bool | operator!= (const GeneralizedFermatPrimeField &c) const | 
|  | Inequality test,.  More... 
 | 
|  | 
| bool | operator!= (const mpz_class &c) const | 
|  | 
| GeneralizedFermatPrimeField | operator+ (const GeneralizedFermatPrimeField &c) const | 
|  | Addition. 
 | 
|  | 
| GeneralizedFermatPrimeField | operator+ (const mpz_class &c) const | 
|  | 
| GeneralizedFermatPrimeField & | operator+= (const mpz_class &c) | 
|  | 
| GeneralizedFermatPrimeField | operator+ (int c) const | 
|  | 
| GeneralizedFermatPrimeField & | operator+= (int c) | 
|  | 
| GeneralizedFermatPrimeField & | operator+= (const GeneralizedFermatPrimeField &y) | 
|  | Addition assignment. 
 | 
|  | 
| GeneralizedFermatPrimeField | operator- (const GeneralizedFermatPrimeField &c) const | 
|  | Subtraction. 
 | 
|  | 
| GeneralizedFermatPrimeField | operator- (const mpz_class &c) const | 
|  | 
| GeneralizedFermatPrimeField & | operator-= (const mpz_class &c) | 
|  | 
| GeneralizedFermatPrimeField | operator- (int c) const | 
|  | 
| GeneralizedFermatPrimeField & | operator-= (int c) | 
|  | 
| GeneralizedFermatPrimeField & | operator-= (const GeneralizedFermatPrimeField &y) | 
|  | Subtraction assignment. 
 | 
|  | 
| GeneralizedFermatPrimeField | operator- () const | 
|  | Negation. 
 | 
|  | 
| void | smallAdd2 (usfixn64 *xm, usfixn64 *ym, short &c) | 
|  | 
| void | oneShiftRight (usfixn64 *xs) | 
|  | 
| void | mulLong_2 (usfixn64 x, usfixn64 y, usfixn64 &s0, usfixn64 &s1, usfixn64 &s2) | 
|  | 
| void | mulLong_3 (usfixn64 const &x, usfixn64 const &y, usfixn64 &s0, usfixn64 &s1, usfixn64 &s2) | 
|  | 
| void | multiplication (usfixn64 *__restrict__ xs, const usfixn64 *__restrict__ ys, usfixn64 permutationStride, usfixn64 *lVector, usfixn64 *hVector, usfixn64 *cVector, usfixn64 *lVectorSub, usfixn64 *hVectorSub, usfixn64 *cVectorSub) | 
|  | 
| void | multiplication_step2 (usfixn64 *__restrict__ xs, usfixn64 permutationStride, usfixn64 *__restrict__ lVector, usfixn64 *__restrict__ hVector, usfixn64 *__restrict__ cVector) | 
|  | 
| GeneralizedFermatPrimeField | operator* (const GeneralizedFermatPrimeField &c) const | 
|  | Multiplication. 
 | 
|  | 
| GeneralizedFermatPrimeField | operator* (const mpz_class &c) const | 
|  | 
| GeneralizedFermatPrimeField & | operator*= (const mpz_class &c) | 
|  | 
| GeneralizedFermatPrimeField | operator* (int c) const | 
|  | 
| GeneralizedFermatPrimeField & | operator*= (int c) | 
|  | 
| GeneralizedFermatPrimeField & | operator*= (const GeneralizedFermatPrimeField &c) | 
|  | Multiplication assignment. 
 | 
|  | 
| GeneralizedFermatPrimeField | MultiP3 (GeneralizedFermatPrimeField ys) | 
|  | 
| GeneralizedFermatPrimeField | MulPowR (int s) | 
|  | 
| void | egcd (const mpz_class &x, const mpz_class &y, mpz_class *ao, mpz_class *bo, mpz_class *vo, mpz_class P) | 
|  | 
| GeneralizedFermatPrimeField | inverse2 () | 
|  | 
| GeneralizedFermatPrimeField | operator^ (long long int c) const | 
|  | Exponentiation. 
 | 
|  | 
| GeneralizedFermatPrimeField | operator^ (const mpz_class &exp) const | 
|  | 
| GeneralizedFermatPrimeField & | operator^= (long long int c) | 
|  | Exponentiation assignment. 
 | 
|  | 
| GeneralizedFermatPrimeField & | operator^= (const mpz_class &c) | 
|  | 
| ExpressionTree | convertToExpressionTree () const | 
|  | Convert this to an expression tree.  More... 
 | 
|  | 
| GeneralizedFermatPrimeField | operator/ (const GeneralizedFermatPrimeField &c) const | 
|  | Exact division.  More... 
 | 
|  | 
| GeneralizedFermatPrimeField | operator/ (long int c) const | 
|  | 
| GeneralizedFermatPrimeField | operator/ (const mpz_class &c) const | 
|  | 
| GeneralizedFermatPrimeField & | operator/= (const GeneralizedFermatPrimeField &c) | 
|  | Exact division assignment.  More... 
 | 
|  | 
| GeneralizedFermatPrimeField & | operator/= (long int c) | 
|  | 
| GeneralizedFermatPrimeField & | operator/= (const mpz_class &c) | 
|  | 
| GeneralizedFermatPrimeField | operator% (const GeneralizedFermatPrimeField &c) const | 
|  | Get the remainder of *this and b;.  More... 
 | 
|  | 
| GeneralizedFermatPrimeField & | operator%= (const GeneralizedFermatPrimeField &c) | 
|  | Assign *this to be the remainder of *this and b.  More... 
 | 
|  | 
| GeneralizedFermatPrimeField | gcd (const GeneralizedFermatPrimeField &a) const | 
|  | Get GCD of *this and other.  More... 
 | 
|  | 
| Factors< GeneralizedFermatPrimeField > | squareFree () const | 
|  | Compute squarefree factorization of *this. 
 | 
|  | 
| Integer | euclideanSize () const | 
|  | Get the euclidean size of *this. 
 | 
|  | 
| GeneralizedFermatPrimeField | euclideanDivision (const GeneralizedFermatPrimeField &b, GeneralizedFermatPrimeField *q=NULL) const | 
|  | Perform the eucldiean division of *this and b.  More... 
 | 
|  | 
| GeneralizedFermatPrimeField | extendedEuclidean (const GeneralizedFermatPrimeField &b, GeneralizedFermatPrimeField *s=NULL, GeneralizedFermatPrimeField *t=NULL) const | 
|  | Perform the extended euclidean division on *this and b.  More... 
 | 
|  | 
| GeneralizedFermatPrimeField | quotient (const GeneralizedFermatPrimeField &b) const | 
|  | Get the quotient of *this and b. 
 | 
|  | 
| GeneralizedFermatPrimeField | remainder (const GeneralizedFermatPrimeField &b) const | 
|  | Get the remainder of *this and b. 
 | 
|  | 
| GeneralizedFermatPrimeField | inverse () const | 
|  | Get the inverse of *this.  More... 
 | 
|  | 
A finite field whose prime should be a generalized fermat number. 
That is, for r = (2^w +/- 2^u), the prime is r^k, for some k.