10#ifndef BIBASIS_TSET_HPP
11#define BIBASIS_TSET_HPP
47 template <
typename MonomType>
55 typedef typename std::list<Triple<MonomType>*>::iterator
Iterator;
56 typedef typename std::list<Triple<MonomType>*>::const_iterator
ConstIterator;
69 std::size_t
Size()
const;
77 template <
typename MonomType>
84 template <
typename MonomType>
90 template <
typename MonomType>
96 template <
typename MonomType>
102 template <
typename MonomType>
108 template <
typename MonomType>
114 template <
typename MonomType>
128 template <
typename MonomType>
135 template <
typename MonomType>
139 JTree.Insert(newTriple);
142 template <
typename MonomType>
148 template <
typename MonomType>
151 return JTree.Find(monom);
154 template <
typename MonomType>
160 template <
typename MonomType>
163 if (iterator ==
TripleList.end() || !(*iterator))
168 typename MonomType::Integer firstMultiVar = (**iterator).GetPolynomLm().FirstMultiVar();
169 for (
typename MonomType::Integer var = 0; var < firstMultiVar; ++var)
171 if (!(**iterator).TestNmp(var))
174 (*tmpPolynom) *= var;
176 (**iterator).SetNmp(var);
178 if (!tmpPolynom->
IsZero())
181 , (**iterator).GetAncestor()
182 , (**iterator).GetNmp()
std::list< Triple< MonomType > * >::const_iterator ConstIterator
Triple< MonomType > * Back() const
std::list< Triple< MonomType > * > TripleList
void CollectNonMultiProlongations(Iterator &iterator, std::list< Triple< MonomType > * > &set)
JanetTree< MonomType > JTree
std::list< Triple< MonomType > * >::iterator Iterator
void PushBack(Triple< MonomType > *newTriple)
const Triple< MonomType > * Find(const MonomType &monom) const
Iterator Erase(Iterator it)
BIBasis::JanetTree<MonomType> — the involutive-division index for boolean Gröbner bases.