
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.