|
Macaulay2 Engine
|
Abstract incremental accumulator that builds a ring_elem from many add(f) calls. More...
#include <ring.hpp>
Public Member Functions | |
| SumCollector () | |
| virtual | ~SumCollector () |
| virtual void | add (ring_elem f)=0 |
| virtual ring_elem | getValue ()=0 |
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) |
Abstract incremental accumulator that builds a ring_elem from many add(f) calls.
Provides a single-value getValue() entry point that finalises whatever the underlying ring decided to do with the staged summands (geobucket merge, hash deduplication, polynomial normalisation, ...). Concrete subclasses include SumCollectorFreeAlgebraHeap (in FreeAlgebra.hpp) and the ring-specific implementations the engine instantiates through Ring::make_SumCollector.