adiar icon indicating copy to clipboard operation
adiar copied to clipboard

An I/O-efficient implementation of (Binary) Decision Diagrams

Results 112 adiar issues
Sort by recently updated
recently updated
newest added

When trying to build the *EPFL* *sin* circuit optimised for depth with *ZDD*s, the *auto*, *pq*, and *ra* version crashes with a `double free or corruption (!prev)` error. ``` Picotrav...

🔥 bug
help wanted

To allow wider and easier use of Adiar, we ought to provide bindings for the public API in other programming languages than C++. This depends on #200 . **C++ Wrappers**...

help wanted
✨ feature
🎓 student programmer

We currently provide `bdd_exists` and `bdd_forall`. But, the end-user may rather want to specify what variables should be left at the end (as a predicate, generator, or iterator) similar to...

✨ feature
good first issue
📁 bdd
🎓 student programmer

In the same vein as #592 and Sylvan, we should add a `zdd_exists` and `zdd_forall` implementation for usage of ZDDs with BDD semantics. Here, a quantified level should leave *don't...

✨ feature
📁 zdd

Since we already provide ZDD operations with BDD semantics (i.e. `zdd_top()`, `zdd_bot()`, `zdd_ithvar(x)`, and `zdd_nithvar(x)`), we may as well also provide the if-then-else operation. Currently, the end-user would have to...

✨ feature
📁 zdd

To use BDDs, resp. ZDDs, in any hash-related context (e.g. `std::unordered_map` and `std::unordered_set`), one needs to derive a hash value for each BDD, resp. ZDD, care about the hash value...

✨ feature
✨ optimisation
🎓 student project

As a follow-up on #532 (similar to the aliases in #452), we should provide the following overloads - [x] `bdd_restrict(bdd f, bdd::label_type x, bool v)` ( done for #557 )...

✨ feature
📁 zdd
🎓 student programmer

In #546 , we cleaned up the interface to use an `exec_policy` object to be passed around, instead of reading (thread unsafely) from a set of global enum values. Based...

✨ optimisation
🎓 student programmer

The Code Coverage in #573 prove there are missing unit tests for `bdd_ite`. - [ ] Forwarding of additional requests to `ite_pq_2` - [ ] Forwarding of additional requests to...

📁 bdd
📁 test
🎓 student programmer

For code clarity (and performance?), we should ditch the `make_generator` in favour of making the streams into generators directly. **Tasks (Internal/IO)** - [ ] Add `operator()` to `internal::file_stream` which wraps...

✨ code quality
🎓 student programmer