|
Macaulay2 Engine
|
Abstract base for long-running, resumable engine computations (GBComputation, ResolutionComputation, MutableComplex, GBKernelComputation, ...). More...
#include <comp.hpp>
Public Member Functions | |
| Computation * | set_stop_conditions (M2_bool always_stop, M2_arrayint degree_limit, int basis_element_limit, int syzygy_limit, int pair_limit, int codim_limit, int subring_limit, M2_bool just_min_gens, M2_arrayint length_limit) |
| enum ComputationStatusCode | status () const |
| virtual int | complete_thru_degree () const =0 |
| virtual void | start_computation ()=0 |
| virtual GBComputation * | cast_to_GBComputation () |
| virtual ResolutionComputation * | cast_to_ResolutionComputation () |
| virtual void | text_out (buffer &o) const |
| virtual void | show () const |
| Public Member Functions inherited from MutableEngineObject | |
| MutableEngineObject () | |
| virtual | ~MutableEngineObject () |
| unsigned int | hash () const |
| Public Member Functions inherited from our_gc_cleanup | |
| our_gc_cleanup () | |
| virtual | ~our_gc_cleanup () |
Protected Member Functions | |
| Computation () | |
| enum ComputationStatusCode | set_status (enum ComputationStatusCode) |
| virtual bool | stop_conditions_ok ()=0 |
| virtual | ~Computation () |
Protected Attributes | |
| StopConditions | stop_ |
Private Attributes | |
| enum ComputationStatusCode | computation_status |
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 base for long-running, resumable engine computations (GBComputation, ResolutionComputation, MutableComplex, GBKernelComputation, ...).
Manages a ComputationStatusCode state machine plus a StopConditions record so callers can ask for partial progress (degree limit, basis-element limit, syzygy limit, wall-clock deadline, ...) without losing what has already been computed. Subclasses implement stop_conditions_ok() to vet the request and start_computation() to do the work; set_status() is the single chokepoint that updates the visible state.