PolyBoRi
Todo List
File generic_hash.h
Check which algorithms are really useful for us, maybe these are public domain anyway.
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::BooleSet::BooleSet (navigator navi, const ring_type &ring)
temporarily deactivated, as it slow downs procedures like term_accumulate, needs check, what happens to inlinings etc. in this case
Member polybori::BooleSet::subset0Assign (idx_type idx)
Do we really nee the assign variante here at high level?
Class polybori::CDDInterface< CuddLikeZDD >
Generalize it
Class polybori::CDDManagerBase< CuddLikeManType, StorageType >
This may need clean up and/or generalization
Member polybori::cudd_generate_divisors (const ManagerType &mgr, ReverseIterator start, ReverseIterator finish)
Next line needs generalization
Member polybori::get_mgr_core (const CCuddInterface &mgr)
merge with extract_manager
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::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