-
Notifications
You must be signed in to change notification settings - Fork 13
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
Simple overloads of bdd_restrict
, zdd_offset
, and zdd_onset
(and add bdd_topvar(f)
/zdd_topvar(A)
for later)
#564
Conversation
I've gone over all of the previous unit tests for the iterator and ensured they actually made use of more than one assignment.
This will become important later, as 'minvar(...)' will get an extended meaning with the introduction of dynamic variable ordering
As requested by Anna Blume Jakobsen based on her prior experience.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #564 +/- ##
=============================================
+ Coverage 96.653% 96.891% +0.238%
=============================================
Files 83 83
Lines 5767 5822 +55
=============================================
+ Hits 5574 5641 +67
+ Misses 193 181 -12
☔ View full report in Codecov by Sentry. |
Benchmark Report 🟢
Minimum running time (s) for 14-Queens:
|
Benchmark Report 🟢
Minimum running time (s) for 9-Queens:
|
Benchmark Report 🟡
Minimum running time (s) for 12-Queens:
|
63d1f89
to
783d537
Compare
783d537
to
5ece0cd
Compare
Anna Blume Jakobsen requested the 'bdd_low(f)' and 'bdd_high(f)' functions, so one would expect an end-user also needs the ZDD equivalents
2000 Unit Tests 🎉 |
bdd_restrict
(and add bdd_topvar(f)
for later)bdd_restrict
, zdd_offset
, and zdd_onset
(and add bdd_topvar(f)
/zdd_topvar(A)
for later)
Benchmark Report 🟢
Minimum running time (s) for 14-Queens:
|
Benchmark Report 🟡
Minimum running time (s) for 9-Queens:
|
Benchmark Report 🟡
Minimum running time (s) for 12-Queens:
|
Adds overloads for Restrict
bdd_restrict(f, var, val)
(Generalise API to use Assignment Functions / Generators #452) and redoes all unit tests to make the iterator-based tests have more than one restriction.bdd_topvar(f)
andzdd_topvar(f)
to prepare for dynamic variable reordering ( closes Addbdd_topvar(...)
andzdd_topvar(...)
#563 ) and not add a hard to track down bug later.bdd_low(f)
andbdd_high(f)
( closes Addbdd_then
/bdd_else
#557 )zdd_offset(A, var)
andbdd_onset(A, var)
zdd_offset(A)
andbdd_onset(A)
( closes Addbdd_then
/bdd_else
#557 )