|  | Basic Polynomial Algebra Subprograms (BPAS)
    v. 1.791
    | 
A simple data structure for encapsulating a collection of Factor elements. More...
#include <Factors.hpp>
 Full inheritance diagram for Factors< Ring >:
 Full inheritance diagram for Factors< Ring >:| Public Member Functions | |
| Factors () | |
| Default constructor.  More... | |
| Factors (const Ring &r) | |
| Construct a Factors with a single factor.  More... | |
| Factors (const std::vector< Ring > &v) | |
| Create a Factors from a list of Ring elements.  More... | |
| Factors (const std::vector< Ring > &v, const std::vector< int > &e) | |
| Create a Factors from a list of Ring elements and a parallel array of integers as exponents for each ring element.  More... | |
| Factors (const std::vector< Ring > &v, const std::vector< int > &e, const Ring &u) | |
| Create a Factors from a list of ring elements, a parallel array of integers as exponents for each ring element, and a ring element representing the invertible unit of the Ring.  More... | |
| Factors (const std::vector< Factor< Ring >> &v) | |
| Create a Factors from a vector of Factor elements.  More... | |
| Factors (const std::vector< Factor< Ring >> &v, const Ring &u) | |
| Create a Factors from a vector of Factor elements and an invertible Ring element.  More... | |
| Factors (const Factors &f) | |
| Copy consturctor.  More... | |
| Factors (Factors &&f) | |
| Move consturctor.  More... | |
| ~Factors () | |
| Destructor. | |
| void | setRingElement (const Ring &r) | 
| Set the invertible Ring element.  More... | |
| Ring | ringElement () const | 
| Get the invertible Ring element.  More... | |
| void | multiplyRingElement (const Ring &r) | 
| Multiply this Factors invertible Ring element by another Ring element.  More... | |
| std::vector< Factor< Ring > > | factors () const | 
| Get the list of Factor elements.  More... | |
| Factor< Ring > | factor (int i) const | 
| Get the i'th Factor.  More... | |
| void | setFactors (const std::vector< Factor< Ring >> &v) | 
| Set the list of Factor elements.  More... | |
| void | addFactor (const Factor< Ring > &f) | 
| A Factor to the list of Factor elements.  More... | |
| void | addFactor (const Ring &r, int e) | 
| Add a Ring element and its corresponding exponent as a Factor.  More... | |
| void | addFactor (Ring &&r, int e) | 
| Add a Ring element and its corresponding exponent as a Factor.  More... | |
| void | addFactors (const Factors< Ring > f) | 
| Combine another Factors' list of Factor elements with this Factors.  More... | |
| size_t | size () const | 
| Get the number of Factor elements in this Factors object.  More... | |
| Factors< Ring > & | operator= (const Factors< Ring > &f) | 
| Copy assignment.  More... | |
| Factors< Ring > & | operator= (Factors< Ring > &&f) | 
| Move assignment.  More... | |
| bool | operator== (const Factors< Ring > &f) const | 
| Equality testing for Factors.  More... | |
| bool | operator!= (const Factors< Ring > &f) const | 
| Inequality testing for Factors.  More... | |
| Factor< Ring > & | operator[] (size_t idx) | 
| Indexing operator.  More... | |
| ExpressionTree | convertToExpressionTree () const | 
| Convert the Factors object to an ExpressionTree.  More... | |
| Friends | |
| std::ostream & | operator<< (std::ostream &out, const Factors< Ring > &f) | 
| Output operator.  More... | |
A simple data structure for encapsulating a collection of Factor elements.
Factors are encoded as a list of Factor items. That is, a pair of a Ring element and an integer representing its exponent. This list of Factor elements is augmented by an invertible element of the ring (if one such exists) as a constant multiplicative factor.
Default constructor.
Constructs an empty list of factors.
Construct a Factors with a single factor.
| r | the Ring element | 
Create a Factors from a list of Ring elements.
Each factor is assumed to have an exponent of 1.
| v | the vector of Ring elements. | 
| Factors< Ring >::Factors | ( | const std::vector< Ring > & | v, | 
| const std::vector< int > & | e | ||
| ) | 
Create a Factors from a list of Ring elements and a parallel array of integers as exponents for each ring element.
| v | the vector of Ring elements | 
| e | the parallel vector of integer exponents | 
| Factors< Ring >::Factors | ( | const std::vector< Ring > & | v, | 
| const std::vector< int > & | e, | ||
| const Ring & | u | ||
| ) | 
Create a Factors from a list of ring elements, a parallel array of integers as exponents for each ring element, and a ring element representing the invertible unit of the Ring.
| v | the vector of Ring elements | 
| e | the parallel vector of integer exponents | 
| u | the multicative factor | 
Copy consturctor.
| f | the Factors to copy. | 
Move consturctor.
| f | the Factors to move. | 
| 
 | inline | 
Add a Ring element and its corresponding exponent as a Factor.
| r | the ring element. | 
| e | the exponent | 
| 
 | inline | 
Add a Ring element and its corresponding exponent as a Factor.
| r | the ring element. | 
| e | the exponent | 
| 
 | inlinevirtual | 
Convert the Factors object to an ExpressionTree.
Implements ExpressionTreeConvert.
| 
 | inline | 
Multiply this Factors invertible Ring element by another Ring element.
| r | the other Ring element. | 
Copy assignment.
| f | the Factors to copy from. | 
Move assignment.
| f | the Factors to move from. | 
| 
 | inline | 
Get the invertible Ring element.
| 
 | inline | 
Set the invertible Ring element.
| r | the new invertible Ring element. | 
| 
 | inline | 
| 
 | friend | 
Output operator.
Defines a to string conversion.
| out | the output stream | 
| f | the Factors to output | 
 1.8.13
 1.8.13