trolando / sylvan

Implementation of multi-core (binary) decision diagrams

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problems using new interface

allrtaken opened this issue · comments

Hello,

I was trying to incorporate the latest version on Sylvan into my program, as my progam was still using a much older commit from 2021, before the API breaking changes to Lace. While attempting this, I noticed some inconsistencies in the docs at https://trolando.github.io/sylvan/# and the current codebase. I might be missing something obvious, but was unable to pinpoint the issue.

Firstly the lace functions for init and exit seem to have changed as compared to the docs. I was able to fix those errors by looking at the examples and changing them (lace_start / lace_startup , lace_exit/lace_stop)

Secondly, the macro LACE_ME no longer seems to be available -- is this by design or is there some error on my side? Is it still needed?

More importantly, I am getting a weird compilation error when I try to compile with the functions gmp_plus, gmp_max etc:

‘mtbdd_apply_RUN’ was not declared in this scope; did you mean ‘sylvan::mtbdd_apply_RUN’

(see the attached file for full compiler output).

Any help is appreciated.

Thanks,
Aditya
compilation_errors.txt

  • I should probably get the documentation updated with those changes, they're from awhile ago actually.
  • I no longer have LACE_ME, instead just use the RUN macro if you want to call a Task. The RUN macros don't need LACE_ME.
  • You need to use the sylvan namespace now in C++. Typically I'd add using namespace sylvan; somewhere