|
Macaulay2 Engine
|
DPolyTraverser subclass that evaluates a tower polynomial under a RingMap. More...
Public Member Functions | |
| TowerEvaluator (const Tower *T, const RingMap *map0, const ring_elem f0, int first_var0) | |
| virtual | ~TowerEvaluator () |
| ring_elem | getValue () |
| Public Member Functions inherited from DPolyTraverser | |
| DPolyTraverser (const DRing *D0) | |
| virtual | ~DPolyTraverser () |
| void | traverse (const TowerPolynomial f) |
Private Member Functions | |
| virtual bool | viewTerm (long coeff, const_exponents exp) |
Private Attributes | |
| const RingMap * | map |
| const Ring * | K |
| SumCollector * | H |
| TowerPolynomial | f |
| int | first_var |
| const Ring * | target |
| gc_vector< int > | vp |
| int | nvars |
Additional Inherited Members | |
| Static Public Member Functions inherited from our_new_delete | |
| static void * | operator new (size_t size) |
| static void * | operator new[] (size_t size) |
| static void | operator delete (void *obj) |
| static void | operator delete[] (void *obj) |
| static void * | operator new (size_t size, void *existing_memory) |
| static void * | operator new[] (size_t size, void *existing_memory) |
| static void | operator delete (void *obj, void *existing_memory) |
| static void | operator delete[] (void *obj, void *existing_memory) |
DPolyTraverser subclass that evaluates a tower polynomial under a RingMap.
Each viewTerm(coeff, exp) callback translates the exponent vector into a varpower monomial, evaluates map's images of the relevant variables, multiplies them with the coefficient (coerced through K), and folds the result into the SumCollector* H. After traversal, H->getValue() is the evaluated ring_elem in the target ring.