getInverseTable optimization for bdds
Issue #464
new
Extending getInverseTable with
- auto bddpt = dynamic_cast<BDDInternalPredTable*>(inv);
- if(bddpt!=NULL){
- auto mgr = bddpt->bdd()->manager();
- return new BDDInternalPredTable(mgr->negation(bddpt->bdd()), mgr, bddpt->vars(), bddpt->structure());
- }
has significant effect on some benchmarks, but on others, generating the negated bdds is much more expensive AND is not estimated correctly (but the estimation cost is also not used currently in PredInter::materialize(), also TODO?)