
 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.