17 #ifndef EULER_STATE_GUARD
18 #define EULER_STATE_GUARD
59 void print(FILE* out);
62 bool debugIsValid()
const;
This is an arena allocator.
void removeGenerator(size_t index)
static EulerState * rawConstruct(size_t varCount, size_t capacity, Arena *arena)
EulerState * makeSumSubState(size_t pivotVar)
EulerState * inPlaceGenSplit(size_t pivotIndex)
void toColonSubStateNoReminimizeNecessary(size_t pivotVar)
void compactEliminatedVariablesIfProfitable()
const RawSquareFreeIdeal & getIdeal() const
bool toColonSubState(const Word *pivot)
static EulerState * construct(const Ideal &idealParam, Arena *arena)
const Word * getEliminatedVars() const
RawSquareFreeIdeal * ideal
size_t getVarCount() const
RawSquareFreeIdeal & getIdeal()
EulerState * inPlaceStdSplit(size_t pivotVar)
EulerState(const EulerState &)
void allocateIdealAndEliminated(size_t varCount, size_t capacity)
size_t getNonEliminatedVarCount() const
Represents a monomial ideal with int exponents.
A bit packed square free ideal placed in a pre-allocated buffer.
void removeGenerator(size_t index)
Removes the generator at index.
size_t getVarCount() const
unsigned long Word
The native unsigned type for the CPU.