PolyBoRi
Todo List

File COrderProperties.h
Unused, to be removed?

File generic_hash.h
Check which algorithms are really useful for us, maybe these are public domain anyway.

Member polybori::BooleEnv::blockBegin ()
needs inlining!!!

Member polybori::BooleMonomial::deg () const
optimal, if stored, else much too complicated, as it will probably use cache lookups

Member polybori::BoolePolynomial::deg () const
: This is currently just brute force + caching, more efficient search may be needed.

Member polybori::BoolePolynomial::monom_type
A more sophisticated treatment for monomials is needed.

Member polybori::CCuddDDFacade< RingType, DiagramType >::CCuddDDFacade (const self &from)
NULL?

Member polybori::CCuddDDFacade< RingType, DiagramType >::cudd_generate_divisors (const ManagerType &mgr, ReverseIterator start, ReverseIterator finish) const
Next line needs generalization

Member polybori::cudd_generate_divisors (const ManagerType &mgr, ReverseIterator start, ReverseIterator finish, type_tag< DDBase >)
Next line needs generalization

Member polybori::cudd_generate_multiples (const ManagerType &mgr, ReverseIterator start, ReverseIterator finish, MultReverseIterator multStart, MultReverseIterator multFinish, type_tag< DDBase >)
merge with extract_manager

Member polybori::dd_recursive_degree_lead (const CacheType &cache_mgr, const DegCacheMgr &deg_mgr, NaviType navi, TermType init, SizeType degree, DescendingProperty prop)
fix

Member polybori::DegLexOrder::lead (const poly_type &poly, deg_type bound) const
: more accurate explanation (comments)

Member polybori::groebner::add_up_monomials (const std::vector< Monomial > &vec)
activate and make save, when used

Member polybori::groebner::ChainCriterion::strat
: connect via vars

Member polybori::groebner::GroebnerStrategy::propagate_step (const PolyEntry &e, std::set< int > others)
: should take the one with smallest lm

Class polybori::groebner::LessWeightedLengthInStratModified
: in many cases, indices should be precalculated

Member polybori::groebner::PairECompare::operator() (const PairE &l, const PairE &r)
lm comparison

Member polybori::groebner::PairLSCompare::operator() (const PairLS &l, const PairLS &r)
lm comparison

Member polybori::groebner::PairManager::cleanTopByChainCriterion ()
implement this

Member polybori::groebner::PolynomialSugar::eliminationLength () const
optimize that using length optimization

Member polybori::lower_term_accumulate (NaviType navi, LowerIterator lstart, LowerIterator lfinish, ValueType init)
Maybe recursive caching is efficient here.

Member polybori::pboriCuddZddUnionXor (MgrType zdd, NodeType P, NodeType Q)
This is still Cudd-like style, should be rewritten with PolyBoRi's cache wrapper, which would the dependency on cuddInt.h

Member polybori::term_accumulate (InputIterator first, InputIterator last, ValueType init)
: check correct manager