
Full inheritance diagram for SmartFraction< Domain >:
|
| | SmartFraction () |
| | Construct the zero fraction function. More...
|
| |
| | SmartFraction (const SmartFraction< Domain > &b) |
| | Copy constructor. More...
|
| |
| | SmartFraction (std::vector< Factor< Domain >> a, std::vector< Factor< Domain >> b) |
| | constructor with two parameter More...
|
| |
|
| SmartFraction (Domain a, Domain b) |
| |
|
void | setNumerator (const std::vector< std::pair< Domain, int >> &b) |
| |
|
void | setDenominator (const std::vector< std::pair< Domain, int >> &b) |
| |
|
void | set (const std::vector< std::pair< Domain, int >> &a, const std::vector< std::pair< Domain, int >> &b) |
| |
| Domain | numerator () const |
| | Get the fraction's numerator. More...
|
| |
| Domain | denominator () const |
| | Get the fraction's denominator. More...
|
| |
| bool | operator!= (const SmartFraction< Domain > &b) const |
| | Inequality test,. More...
|
| |
| bool | operator== (const SmartFraction< Domain > &b) const |
| | Equality test,. More...
|
| |
|
SmartFraction< Domain > | operator* (const SmartFraction< Domain > &b) const |
| | Multiplication.
|
| |
|
SmartFraction< Domain > & | operator*= (const SmartFraction< Domain > &b) |
| | Multiplication assignment.
|
| |
| SmartFraction< Domain > | unitCanonical (SmartFraction< Domain > *u=NULL, SmartFraction< Domain > *v=NULL) const |
| | Obtain the unit normal (a.k.a canonical associate) of an element. More...
|
| |
|
void | canonicalize () |
| | Canonicalize this fraction, reducing terms as needed.
|
| |
|
void | normalize () |
| |
| bool | isZero () const |
| | Determine if *this ring element is zero, that is the additive identity. More...
|
| |
| bool | isOne () const |
| | Determine if *this ring element is one, that is the multiplication identity. More...
|
| |
|
void | zero () |
| | Make *this ring element zero.
|
| |
|
void | one () |
| | Make *this ring element one.
|
| |
|
SmartFraction< Domain > | operator+ (const SmartFraction< Domain > &b) const |
| | Addition.
|
| |
|
SmartFraction< Domain > & | operator+= (const SmartFraction< Domain > &b) |
| | Addition assignment.
|
| |
|
SmartFraction< Domain > | operator- (const SmartFraction< Domain > &b) const |
| | Subtraction.
|
| |
|
SmartFraction< Domain > & | operator-= (const SmartFraction< Domain > &b) |
| | Subtraction assignment.
|
| |
| SmartFraction< Domain > | operator/ (const SmartFraction< Domain > &b) const |
| | Exact division. More...
|
| |
| SmartFraction< Domain > & | operator/= (const SmartFraction< Domain > &b) |
| | Exact division assignment. More...
|
| |
|
SmartFraction< Domain > | operator- () const |
| | Negation.
|
| |
| SmartFraction< Domain > | inverse () const |
| | Get the inverse of *this. More...
|
| |
|
SmartFraction< Domain > | operator^ (long long int e) const |
| | Exponentiation.
|
| |
|
SmartFraction< Domain > & | operator^= (long long int e) |
| | Exponentiation assignment.
|
| |
| Factors< SmartFraction< Domain > > | squareFree () const |
| | Compute squarefree factorization of *this. More...
|
| |
| ExpressionTree | convertToExpressionTree () const |
| | Convert this to an expression tree. More...
|
| |
| void | print (std::ostream &ostream) const |
| | Print the Ring element. More...
|
| |
| SmartFraction< Domain > | gcd (const SmartFraction< Domain > &b) const |
| | Get GCD of *this and other. More...
|
| |
|
Integer | euclideanSize () const |
| | Get the euclidean size of *this.
|
| |
| SmartFraction< Domain > | euclideanDivision (const SmartFraction< Domain > &b, SmartFraction< Domain > *q=NULL) const |
| | Perform the eucldiean division of *this and b. More...
|
| |
| SmartFraction< Domain > | quotient (const SmartFraction< Domain > &b) const |
| | Get the quotient of *this and b. More...
|
| |
| SmartFraction< Domain > | remainder (const SmartFraction< Domain > &b) const |
| | Get the remainder of *this and b. More...
|
| |
| SmartFraction< Domain > | extendedEuclidean (const SmartFraction< Domain > &b, SmartFraction< Domain > *s=NULL, SmartFraction< Domain > *t=NULL) const |
| | Perform the extended euclidean division on *this and b. More...
|
| |
| SmartFraction< Domain > | operator% (const SmartFraction< Domain > &b) const |
| | Get the remainder of *this and b;. More...
|
| |
| SmartFraction< Domain > & | operator%= (const SmartFraction< Domain > &b) |
| | Assign *this to be the remainder of *this and b. More...
|
| |
template<class Domain>
class SmartFraction< Domain >
A field of fractions templated by an arbitrary BPASGCDDomain making use of factor refinement.