|  | Basic Polynomial Algebra Subprograms (BPAS)
    v. 1.791
    | 
A prime field whose prime is 32 bits or less. More...
#include <SmallPrimeField.hpp>
 Full inheritance diagram for SmallPrimeField:
 Full inheritance diagram for SmallPrimeField:| Public Member Functions | |
| SmallPrimeField (long long int _a) | |
| SmallPrimeField (const SmallPrimeField &c) | |
| SmallPrimeField (const Integer &c) | |
| SmallPrimeField (const RationalNumber &c) | |
| SmallPrimeField (const ComplexRationalNumber &c) | |
| SmallPrimeField (const BigPrimeField &c) | |
| SmallPrimeField (const GeneralizedFermatPrimeField &c) | |
| SmallPrimeField (const DenseUnivariateIntegerPolynomial &c) | |
| SmallPrimeField (const DenseUnivariateRationalPolynomial &c) | |
| SmallPrimeField (const SparseUnivariatePolynomial< Integer > &c) | |
| SmallPrimeField (const SparseUnivariatePolynomial< RationalNumber > &c) | |
| SmallPrimeField (const SparseUnivariatePolynomial< ComplexRationalNumber > &c) | |
| template<class Ring > | |
| SmallPrimeField (const SparseUnivariatePolynomial< Ring > &c) | |
| SmallPrimeField * | SPFpointer (SmallPrimeField *b) | 
| SmallPrimeField * | SPFpointer (RationalNumber *a) | 
| SmallPrimeField * | SPFpointer (BigPrimeField *a) | 
| SmallPrimeField * | SPFpointer (GeneralizedFermatPrimeField *a) | 
| long long int | number () const | 
| void | whichprimefield () | 
| mpz_class | getCharacteristic () const override | 
| The characteristic of this ring class. | |
| long long int | Prime () | 
| SmallPrimeField & | operator= (const SmallPrimeField &c) | 
| Copy assignment. | |
| SmallPrimeField & | operator= (long long int k) | 
| SmallPrimeField | findPrimitiveRootOfUnity (long int n) const | 
| 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 () | 
| void | negativeOne () | 
| int | isConstant () | 
| SmallPrimeField | unitCanonical (SmallPrimeField *u=NULL, SmallPrimeField *v=NULL) const | 
| Obtain the unit normal (a.k.a canonical associate) of an element.  More... | |
| SmallPrimeField | operator+ (const SmallPrimeField &c) const | 
| Addition. | |
| SmallPrimeField | operator+ (const long long int &c) const | 
| SmallPrimeField | operator+ (const int &c) const | 
| SmallPrimeField | operator+= (const long long int &c) | 
| SmallPrimeField & | operator+= (const SmallPrimeField &c) | 
| Addition assignment. | |
| SmallPrimeField | operator- (const SmallPrimeField &c) const | 
| Subtraction. | |
| SmallPrimeField | operator- (const long long int &c) const | 
| SmallPrimeField | operator-= (const long long int &c) | 
| SmallPrimeField & | operator-= (const SmallPrimeField &c) | 
| Subtraction assignment. | |
| SmallPrimeField | operator- () const | 
| Negation. | |
| SmallPrimeField | operator* (const SmallPrimeField &c) const | 
| Multiplication. | |
| SmallPrimeField | operator* (long long int c) const | 
| SmallPrimeField & | operator*= (const SmallPrimeField &c) | 
| Multiplication assignment. | |
| long long int * | pinverse () | 
| SmallPrimeField | inverse () const | 
| Get the inverse of *this.  More... | |
| SmallPrimeField | inverse2 () | 
| SmallPrimeField | operator^ (long long int e) const | 
| Exponentiation. | |
| SmallPrimeField & | operator^= (long long int e) | 
| Exponentiation assignment. | |
| bool | operator== (const SmallPrimeField &c) const | 
| Equality test,.  More... | |
| bool | operator== (long long int k) const | 
| bool | operator!= (const SmallPrimeField &c) const | 
| Inequality test,.  More... | |
| bool | operator!= (long long int k) const | 
| ExpressionTree | convertToExpressionTree () const | 
| Convert this to an expression tree.  More... | |
| SmallPrimeField | operator/ (const SmallPrimeField &c) const | 
| Exact division.  More... | |
| SmallPrimeField | operator/ (long long int c) const | 
| SmallPrimeField & | operator/= (const SmallPrimeField &c) | 
| Exact division assignment.  More... | |
| SmallPrimeField | operator% (const SmallPrimeField &c) const | 
| Get the remainder of *this and b;.  More... | |
| SmallPrimeField & | operator%= (const SmallPrimeField &c) | 
| Assign *this to be the remainder of *this and b.  More... | |
| SmallPrimeField | gcd (const SmallPrimeField &other) const | 
| Get GCD of *this and other.  More... | |
| Factors< SmallPrimeField > | squareFree () const | 
| Compute squarefree factorization of *this. | |
| Integer | euclideanSize () const | 
| Get the euclidean size of *this. | |
| SmallPrimeField | euclideanDivision (const SmallPrimeField &b, SmallPrimeField *q=NULL) const | 
| Perform the eucldiean division of *this and b.  More... | |
| SmallPrimeField | extendedEuclidean (const SmallPrimeField &b, SmallPrimeField *s=NULL, SmallPrimeField *t=NULL) const | 
| Perform the extended euclidean division on *this and b.  More... | |
| SmallPrimeField | quotient (const SmallPrimeField &b) const | 
| Get the quotient of *this and b. | |
| SmallPrimeField | remainder (const SmallPrimeField &b) const | 
| Get the remainder of *this and b. | |
| Static Public Member Functions | |
| static void | setPrime (long long int p) | 
| static SmallPrimeField | findPrimitiveRootofUnity (long long int n) | 
| static long long int | Mont (long long int b, long long int c) | 
| static long long int | getRsquare () | 
| Static Public Attributes | |
| static mpz_class | characteristic | 
A prime field whose prime is 32 bits or less.
Elements of this field are encoded using montgomery trick.
| 
 | inlinevirtual | 
Convert this to an expression tree.
returns an expression tree describing *this.
Implements ExpressionTreeConvert.
| 
 | virtual | 
Perform the eucldiean division of *this and b.
Returns the remainder. If q is not NULL, then returns the quotient in q.
Implements BPASEuclideanDomain< SmallPrimeField >.
| 
 | virtual | 
Perform the extended euclidean division on *this and b.
Returns the GCD. If s and t are not NULL, returns the bezout coefficients in them.
Implements BPASEuclideanDomain< SmallPrimeField >.
| 
 | inlinevirtual | 
Get GCD of *this and other.
| other | the other element to get a gcd with. | 
Implements BPASGCDDomain< SmallPrimeField >.
| 
 | inlinevirtual | 
| 
 | inlinevirtual | 
Determine if *this ring element is one, that is the multiplication identity.
returns true iff *this is one.
Implements BPASRing< SmallPrimeField >.
| 
 | inlinevirtual | 
Determine if *this ring element is zero, that is the additive identity.
returns true iff *this is zero.
Implements BPASRing< SmallPrimeField >.
| 
 | inlinevirtual | 
| 
 | inlinevirtual | 
Get the remainder of *this and b;.
| b | the divisor | 
Implements BPASEuclideanDomain< SmallPrimeField >.
| 
 | inlinevirtual | 
Assign *this to be the remainder of *this and b.
| b | the divisor | 
Implements BPASEuclideanDomain< SmallPrimeField >.
| 
 | inlinevirtual | 
Exact division.
| d | the divisor. | 
Implements BPASIntegralDomain< SmallPrimeField >.
| 
 | inlinevirtual | 
Exact division assignment.
| d | the divisor. | 
Implements BPASIntegralDomain< SmallPrimeField >.
| 
 | inlinevirtual | 
| 
 | virtual | 
Obtain the unit normal (a.k.a canonical associate) of an element.
If either parameters u, v, are non-NULL then the units are returned such that b = ua, v = u^-1. Where b is the unit normal of a, and is the returned value.
Implements BPASRing< SmallPrimeField >.
 1.8.13
 1.8.13