49template <
typename Key>
106 Key &result_k)
const;
110 VECTOR(Key) & result_k)
const;
137 Key &result_k)
const;
141 Key &result_k)
const;
147 VECTOR(Key) & result_k)
const;
151 VECTOR(Key) & result_k)
const;
159 mi_node *
next(mi_node *
p)
const;
160 mi_node *
prev(mi_node *
p)
const;
172 VECTOR(
int) & result_minimals,
173 stash *mi_stash =
nullptr);
void insert_minimal_vp(long comp, const_varpower_monomial m, Key k)
res_const_ntuple_monomial const_ntuple_monomial
res_ntuple_word ntuple_word
res_varpower_monomial varpower_monomial
void do_node(mi_node *p, int indent, int disp) const
void debug_out(int disp=1) const
void reset_expvector(const_varpower_monomial m)
void update_expvector(int topvar, const_varpower_monomial m)
void do_tree(mi_node *p, int depth, int indent, int disp) const
void text_out(buffer &o) const
mi_node * prev(mi_node *p) const
mi_node * next(mi_node *p) const
bool find_one_divisor_packed(const ResMonoid *M, const_packed_monomial m, Key &result_k) const
void find_all_divisors_vp(long comp, const_varpower_monomial m, VECTOR(Key) &result_k) const
res_const_packed_monomial const_packed_monomial
void find_all_divisors_packed(const ResMonoid *M, const_packed_monomial m, VECTOR(Key) &result_k) const
res_ntuple_monomial ntuple_monomial
ResF4MonomialLookupTableT(int nvars, stash *mi_stash=nullptr)
bool insert_vp(long comp, const_varpower_monomial m, Key &k)
~ResF4MonomialLookupTableT()
void delete_mi_node(mi_node *p)
bool find_one_divisor1(mi_node *mi, const_ntuple_monomial exp, Key &result_k) const
res_const_varpower_monomial const_varpower_monomial
void find_all_divisors1(mi_node *mi, const_ntuple_monomial exp, VECTOR(Key) &result_k) const
bool find_one_divisor_vp(long comp, const_varpower_monomial m, Key &result_k) const
res_packed_monomial packed_monomial
res_varpower_word varpower_word
mi_node * new_mi_node(varpower_word v, varpower_word e, mi_node *d)
void insert1(mi_node *&p, const_varpower_monomial m, Key k)
our_new_delete — per-class opt-in routing of new / delete through bdwgc.
void minimalize_res_varpower_monomials(const VECTOR(res_varpower_monomial) &elems, VECTOR(int) &result_minimals, stash *mi_stash=nullptr)
ResMonoid dispatcher — single typedef switch between ResMonoidDense and ResMonoidSparse.
const res_varpower_word * res_const_varpower_monomial
res_varpower_word * res_varpower_monomial
res_ntuple_word * res_ntuple_monomial
res_ntuple_monomials::Exponent res_ntuple_word
const res_monomial_word * res_const_packed_monomial
res_varpower_monomials::Exponent res_varpower_word
res_monomial_word * res_packed_monomial
const res_ntuple_word * res_const_ntuple_monomial
Typed-monomial vocabulary shared by ResMonoid, ResPolyRing, SchreyerFrame, and F4Res.
enum ResF4MonomialLookupTableT::mi_node::@025031101115250154050127052044034126032125025377 tag
void insert_to_left(mi_node *q)
union ResF4MonomialLookupTableT::mi_node::@135211334355232135155254365222011221354240125150 val