Macaulay2 Engine
Loading...
Searching...
No Matches
res-monomial-types.hpp File Reference

Typed-monomial vocabulary shared by ResMonoid, ResPolyRing, SchreyerFrame, and F4Res. More...

#include <cstdint>
#include "ExponentList.hpp"
#include "ExponentVector.hpp"

Go to the source code of this file.

Typedefs

typedef int32_t myword
typedef myword component_index
using res_ntuple_monomials = ExponentVector<myword, false>
typedef res_ntuple_monomials::Exponent res_ntuple_word
typedef res_ntuple_wordres_ntuple_monomial
typedef const res_ntuple_wordres_const_ntuple_monomial
using res_varpower_monomials = ExponentList<myword, false>
using index_res_varpower_monomial = ExponentListIterator<myword, false>
typedef res_varpower_monomials::Exponent res_varpower_word
typedef res_varpower_wordres_varpower_monomial
typedef const res_varpower_wordres_const_varpower_monomial
typedef myword res_monomial_word
typedef res_monomial_wordres_packed_monomial
typedef const res_monomial_wordres_const_packed_monomial

Enumerations

enum class  MonomialOrderingType { Lex , GRevLex , Weights }

Detailed Description

Typed-monomial vocabulary shared by ResMonoid, ResPolyRing, SchreyerFrame, and F4Res.

Note
AI-generated documentation. Verify against the source before relying on it.

Declares the typedefs the F4 resolution layer uses in place of raw int*. myword = int32_t is the per-slot integer; res_ntuple_monomials = ExponentVector<myword, false> is the dense exponent-vector specialisation and res_varpower_monomials = ExponentList<myword, false> the sparse (variable, exponent) list specialisation. From each the _word / _monomial / _const_* typedefs spell out the value / mutable-pointer / const-pointer flavours so callers pass the right const-ness without restating the template. res_monomial_word / res_packed_monomial / res_const_packed_monomial name the packed monomial layout used by ResMonoidDense and ResMonoidSparse, and the MonomialOrderingType enum tags the supported orderings.

The trailing comment block records the (possibly stale) packed-monomial encoding [hash, component, weights..., exponents...] — the F4-side f4-types.hpp cousin uses the same shape.

See also
ExponentVector.hpp
ExponentList.hpp
res-moninfo.hpp
res-poly-ring.hpp
f4/f4-types.hpp

Definition in file res-monomial-types.hpp.