Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add bdd_relprod, bdd_relnext and bdd_relprev with read-once once. #698

Open
4 tasks
SSoelvsten opened this issue Nov 28, 2024 · 0 comments
Open
4 tasks
Labels
📁 bdd Binary Decision Diagrams ✨ feature New operation or other feature 🎓 student programmer Work, work...

Comments

@SSoelvsten
Copy link
Owner

SSoelvsten commented Nov 28, 2024

The bdd_relprod, bdd_relnext, and bdd_relprev functions lack a generator-based overload.

  • Add bdd_relprod with a generator<bdd::label_type>.
  • Add bdd_replace with a generator<pair<bdd::label_type, bdd::label_type>>.
    • Add bdd_relnext with a generator<pair<bdd::label_type, bdd::label_type>>.
    • Add bdd_relprev with a generator<pair<bdd::label_type, bdd::label_type>>.

The pruning optimisation (or any other) cannot be applied in any of these versions above. It neither seems possible to infer the type of the relabelling. Maybe one should instead "load" the entire set of levels (maybe intersected with its support), to then infer the relabelling mode, and then maybe turn it into a predicate?

@SSoelvsten SSoelvsten added ✨ feature New operation or other feature 📁 bdd Binary Decision Diagrams 🎓 student programmer Work, work... labels Nov 28, 2024
@SSoelvsten SSoelvsten added this to the v2.1 : Relational Product milestone Nov 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📁 bdd Binary Decision Diagrams ✨ feature New operation or other feature 🎓 student programmer Work, work...
Projects
None yet
Development

No branches or pull requests

1 participant