You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.9 KiB
2.9 KiB
Change Log
All notable changes to Sylvan will be documented in this file.
[Unreleased]
Added
- The embedded work-stealing framework now explicitly checks for stack overflows and aborts with an appropriate error message written to stderr.
- New functions
sylvan_project
andsylvan_and_project
for BDDs, a dual of existential quantification, where instead of the variables to remove, the given set of variables are the variables to keep.
Changed
- Rewritten initialization of Sylvan. Before the call to
sylvan_init_package
, table sizes must be initialized either usingsylvan_set_sizes
or with the new functionsylvan_set_limits
. This new function allows the user to set a maximum number of bytes allocated for the nodes table and for the operation cache.
[1.2.0] - 2017-02-03
Added
- Added documentation in the docs directory using Sphinx. Some documentation is removed from the README.md file.
Changed
- The custom terminal/leaf API is slightly modified. The
read_binary_cb
has a different signature to remove the dependency upon MTBDD functionality. - The custom terminal/leaf API functions have been renamed and moved to a separate file.
- Lace has been updated with a new version. The new version has rewritten the hardware locality code that pins worker threads and memory.
Fixed
- A bug in
mtbdd_reader_readbinary
has been fixed.
[1.1.2] - 2017-01-11
Fixed
- The pkg-config file is slightly improved.
- A critical bug in
sylvan_collect
has been fixed.
[1.1.1] - 2017-01-10
Fixed
- The pkg-config file now includes hwloc as a requirement
[1.1.0] - 2017-01-09
Added
- This CHANGELOG file.
- Custom leaves can now implement custom callbacks for writing/reading to/from files.
- Implemented GMP leaf writing/reading to/from file.
- Method
mtbdd_eval_compose
for proper function composition (after partial evaluation). - Method
mtbdd_enum_par_*
for parallel path enumeration. - LDD methods
relprod
andrelprev
now support action labels (meta 5). - Examples program
ldd2bdd
now converts LDD transition systems to BDDs transition systems. - Methods
cache_get6
andcache_put6
for operation cache entries that require two buckets. - File
sylvan.pc
for pkg-config.
Changed
- The API to register a custom MTBDD leaf now requires multiple calls, which is better design for future extensions.
- When rehashing during garbage collection fails (due to finite length probe sequences), Sylvan now increases the probe sequence length instead of aborting with an error message. However, Sylvan will probably still abort due to the table being full, since this error is typically triggered when garbage collection does not remove many dead nodes.
Fixed
- Methods
mtbdd_enum_all_*
fixed and rewritten.
Removed
- We no longer use both autoconf makefiles and CMake. Instead, we removed the autoconf files and rely solely on CMake now.