Releases: SSoelvsten/cal
3.0.0
CAL 3.0.0
Switch from outdated GNU build system files to CMake.
C
Bug Fixes / Clean Up
- Fix Segmentation Fault on
Cal_BddManagerQuit()
. In short, the code was set up to allocate withmalloc
orvalloc
. Yet, only thevalloc
version was maintained. Hence, themalloc
version has been removed entirely. Yet,valloc
is deprecated and hence has been replaced with the C11aligned_alloc
. - The value
LG_PAGE_SIZE
is now derived as part of the pre-processor. That is, you only have to parsePAGE_SIZE
as part of the compilation, not also compute its logarithm. - Removed the
dynamicReorderingEnableFlag
value to simplify logic for running reordering; the prior version seems to be asking for bugs to be introduced.
Features
- Implements
Cal_BddNull()
. This was mentioned in the documentation but not implemented. All null creation in the code base has also been replaced with this one to improve code clarity.
C++
Features
-
Adds a C++ header-only (and hence zero-overhead) wrapper for CAL in
<calObj.hh>
similar to the one of CUDD.- Provides the
Cal
object to provide single ownership semantics of theCal_BddManager
. - Provides the
BDD
class to hide reference counting with RAII.
Both classes also provide access to the BDD operations (
Cal
with prefix-notation andBDD
with infix-notation). Operations that depend on theCal_BddManager
's state, i.e.Exists
andRelProd
, are only provided byCal
. - Provides the
Documentation
The documentation of the public API has been moved from the many implementation file directly into the C and C++ API header files. This way, you have the documentation available directly in your editor. Furthermore, the entire documentation has been replaced with one generated by Doxygen.
2.1.1
Minor restructuring of the v2.1 files and making it compile and run on modern Linux machines.
2.1
The CAL BDD package as I obtained it from Ioannis Filippidis (through Tom van Dijk) without any changes. This version was most likely downloaded the 24th of February, 2015 from the following url (which does not work anymore)
https://ptolemy.berkeley.edu/projects/embedded/Research/cal_files.html