
 Full inheritance diagram for BPASEuclideanDomain< Derived >:
 
 | 
| 
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...
  | 
|   | 
template<class Derived>
class BPASEuclideanDomain< Derived >
An abstract class defining the interface of a Euclidean domain.