14 int basis_element_limit,
22 stop_.always_stop = always_stop;
23 stop_.stop_after_degree = (degree_limit !=
nullptr && degree_limit->len > 0);
24 stop_.degree_limit = degree_limit;
25 stop_.basis_element_limit = basis_element_limit;
26 stop_.syzygy_limit = syzygy_limit;
27 stop_.pair_limit = pair_limit;
28 stop_.use_codim_limit = (codim_limit >= 0);
29 stop_.codim_limit = codim_limit;
30 stop_.subring_limit = subring_limit;
31 stop_.just_min_gens = just_min_gens;
32 stop_.length_limit = length_limit;
44 stop_.always_stop =
false;
45 stop_.stop_after_degree =
false;
46 stop_.degree_limit =
nullptr;
47 stop_.basis_element_limit = 0;
48 stop_.syzygy_limit = 0;
50 stop_.use_codim_limit =
false;
51 stop_.codim_limit = 0;
52 stop_.subring_limit = 0;
53 stop_.just_min_gens =
false;
54 stop_.length_limit =
nullptr;
63 printf(
"No show method available for this computation type\n");
73 "attempted to reset status of a computation that overflowed"));
Append-only GC-backed byte buffer used throughout the engine for text output.
enum ComputationStatusCode computation_status
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)
virtual void text_out(buffer &o) const
enum ComputationStatusCode set_status(enum ComputationStatusCode)
virtual bool stop_conditions_ok()=0
virtual void show() const
Abstract Computation base class — stop-condition machinery for incremental engine work.
namespace exc — internal C++ exception types and the TRY / CATCH macro pair.
intern_* helpers that register long-lived engine objects with bdwgc finalisers.