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

Set Operator Aliases #15

Open
SSoelvsten opened this issue May 27, 2024 · 3 comments
Open

Set Operator Aliases #15

SSoelvsten opened this issue May 27, 2024 · 3 comments

Comments

@SSoelvsten
Copy link

I might just be unable to find this function, but the binary diff operator (including operator overload for the - operator) is missing for oxidd::bdd_function and oxidd::bcdd_function. This operator is equivalent to f & ~g. With complement edges, one can safely do this using and and not; but without them, one needs a function to not compute/construct ~g.

@SSoelvsten
Copy link
Author

Ah, it's called imp_strict.

@nhusung
Copy link
Member

nhusung commented May 27, 2024

Note that compared to diff, imp_strict has operands swapped. I’d say this is a weak point of the current API, we should provide diff (and all other set operators) as aliases to the respective operators on Boolean functions. At some point, I also want to merge the BooleanVecSet trait (for sets of Boolean vectors; currently only part of the Rust API) into the BooleanFunction trait.

@SSoelvsten
Copy link
Author

Yes, one can indeed interpret this issue as a missing alias.

@nhusung nhusung reopened this May 27, 2024
@nhusung nhusung changed the title Add Diff operator to BDD and BCDD Set Operator Aliases May 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants