Macaulay2 Engine
Loading...
Searching...
No Matches
computation.h
Go to the documentation of this file.
1#ifndef _computation_h_
2# define _computation_h_
3
43
44# include "engine-includes.hpp"
45
46# if defined(__cplusplus)
47extern "C" {
48# endif
49
54 /* Keep this enum in sync with RawStatusCodes in Macaulay2/m2/gb.m2 */
55 COMP_NEED_RESIZE = 1, /* need resize */
56 COMP_ERROR = 2, /* error */
57 COMP_INTERRUPTED = 3, /* interrupted */
58 COMP_NOT_STARTED = 4, /* not started */
59 COMP_INITIAL_STOP = 5, /* StopBeforeComputation */
60 COMP_DONE = 6, /* done */
61 COMP_DONE_DEGREE_LIMIT = 7, /* DegreeLimit */
62 COMP_DONE_LENGTH_LIMIT = 8, /* LengthLimit */
63 COMP_DONE_SYZYGY_LIMIT = 9, /* SyzygyLimit */
64 COMP_DONE_PAIR_LIMIT = 10, /* PairLimit */
65 COMP_DONE_GB_LIMIT = 11, /* BasisElementLimit */
66 COMP_DONE_SYZ_LIMIT = 12, /* SyzygyLimit */
67 COMP_DONE_CODIM = 13, /* CodimensionLimit */
68 COMP_DONE_MIN_GENS = 14, /* StopWithMinimalGenerators */
69 COMP_DONE_STEPS = 15, /* StepLimit */
70 COMP_DONE_SUBRING_LIMIT = 16, /* SubringLimit */
71 COMP_COMPUTING = 17, /* computing */
72 COMP_OVERFLOWED = 18, /* overflowed */
73};
74
90{
93 M2_arrayint degree_limit; // Stop after completing this 'slanted' degree
94 unsigned int basis_element_limit; // Number of gb elements
95 unsigned int syzygy_limit;
96 unsigned int pair_limit;
98 unsigned int codim_limit;
99 unsigned int subring_limit;
101 M2_arrayint length_limit; // ignored for GB computations
102};
103
104// TODO: should these move elsewhere?
111
113 GB_polyring_field = 1, /* The main GB algorithm to use */
115};
116
118 /* The printlevel flags */
120};
121
122# if defined(__cplusplus)
123}
124# endif
125
126#endif /* _computation_h_ */
127
128// Local Variables:
129// indent-tabs-mode: nil
130// End:
Algorithms
@ GB_polyring_field_homog
@ GB_polyring_field
StrategyValues
@ STRATEGY_USE_SYZ
@ STRATEGY_LONGPOLYNOMIALS
@ STRATEGY_USE_HILB
@ STRATEGY_SORT
gbTraceValues
@ PRINT_SPAIR_TRACKING
ComputationStatusCode
Definition computation.h:53
@ COMP_DONE_MIN_GENS
Definition computation.h:68
@ COMP_NEED_RESIZE
Definition computation.h:55
@ COMP_DONE_PAIR_LIMIT
Definition computation.h:64
@ COMP_DONE_STEPS
Definition computation.h:69
@ COMP_DONE
Definition computation.h:60
@ COMP_OVERFLOWED
Definition computation.h:72
@ COMP_DONE_SUBRING_LIMIT
Definition computation.h:70
@ COMP_ERROR
Definition computation.h:56
@ COMP_INITIAL_STOP
Definition computation.h:59
@ COMP_DONE_LENGTH_LIMIT
Definition computation.h:62
@ COMP_DONE_GB_LIMIT
Definition computation.h:65
@ COMP_DONE_DEGREE_LIMIT
Definition computation.h:61
@ COMP_DONE_CODIM
Definition computation.h:67
@ COMP_DONE_SYZ_LIMIT
Definition computation.h:66
@ COMP_DONE_SYZYGY_LIMIT
Definition computation.h:63
@ COMP_COMPUTING
Definition computation.h:71
@ COMP_NOT_STARTED
Definition computation.h:58
@ COMP_INTERRUPTED
Definition computation.h:57
Engine-wide include prelude — a single point of truth for portability shims.
char M2_bool
Definition m2-types.h:82
unsigned int subring_limit
Definition computation.h:99
M2_bool use_codim_limit
Definition computation.h:97
M2_bool always_stop
Definition computation.h:91
M2_arrayint length_limit
M2_bool just_min_gens
unsigned int codim_limit
Definition computation.h:98
unsigned int syzygy_limit
Definition computation.h:95
unsigned int basis_element_limit
Definition computation.h:94
M2_bool stop_after_degree
Definition computation.h:92
unsigned int pair_limit
Definition computation.h:96
M2_arrayint degree_limit
Definition computation.h:93
Bundle of optional early-termination knobs the front end can attach to a long-running Computation.
Definition computation.h:90