
virtual Integer  euclideanSize () const =0 
 Get the euclidean size of *this.


virtual Derived  euclideanDivision (const Derived &b, Derived *q=NULL) const =0 
 Perform the eucldiean division of *this and b. More...


virtual Derived  extendedEuclidean (const Derived &b, Derived *s=NULL, Derived *t=NULL) const =0 
 Perform the extended euclidean division on *this and b. More...


virtual Derived  quotient (const Derived &b) const =0 
 Get the quotient of *this and b. More...


virtual Derived  remainder (const Derived &b) const =0 
 Get the remainder of *this and b. More...


virtual Derived  operator% (const Derived &b) const =0 
 Get the remainder of *this and b;. More...


virtual Derived &  operator%= (const Derived &b)=0 
 Assign *this to be the remainder of *this and b. More...


Public Member Functions inherited from BPASGCDDomain< Derived > 
virtual Derived  gcd (const Derived &other) const =0 
 Get GCD of *this and other. More...


virtual Factors< Derived >  squareFree () const =0 
 Compute squarefree factorization of *this. More...


Public Member Functions inherited from BPASIntegralDomain< Derived > 
virtual Derived  operator/ (const Derived &d) const =0 
 Exact division. More...


virtual Derived &  operator/= (const Derived &d)=0 
 Exact division assignment. More...


virtual mpz_class  getCharacteristic () const 
 The characteristic of this ring class.


virtual bool  isZero () const =0 
 Determine if *this ring element is zero, that is the additive identity. More...


virtual void  zero ()=0 
 Make *this ring element zero.


virtual bool  isOne () const =0 
 Determine if *this ring element is one, that is the multiplication identity. More...


virtual void  one ()=0 
 Make *this ring element one.


virtual Derived  unitCanonical (Derived *u=NULL, Derived *v=NULL) const =0 
 Obtain the unit normal (a.k.a canonical associate) of an element. More...


virtual Derived &  operator= (const Derived &)=0 
 Copy assignment.


virtual Derived  operator+ (const Derived &) const =0 
 Addition.


virtual Derived &  operator+= (const Derived &)=0 
 Addition assignment.


virtual Derived  operator (const Derived &) const =0 
 Subtraction.


virtual Derived &  operator= (const Derived &)=0 
 Subtraction assignment.


virtual Derived  operator () const =0 
 Negation.


virtual Derived  operator* (const Derived &) const =0 
 Multiplication.


virtual Derived &  operator*= (const Derived &)=0 
 Multiplication assignment.


virtual Derived  operator^ (long long int e) const =0 
 Exponentiation.


virtual Derived &  operator^= (long long int e)=0 
 Exponentiation assignment.


virtual bool  operator== (const Derived &) const =0 
 Equality test,. More...


virtual bool  operator!= (const Derived &) const =0 
 Inequality test,. More...


virtual void  print (std::ostream &ostream) const 
 Print the Ring element. More...


virtual std::string  toString () const 
 Convert the Ring element to a string. More...


virtual ExpressionTree  convertToExpressionTree () const =0 
 Convert this to an expression tree. More...

