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.