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.