Skip to content

Releases: SSoelvsten/cal

3.0.0

03 Apr 09:23
Compare
Choose a tag to compare

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 with malloc or valloc. Yet, only the valloc version was maintained. Hence, the malloc version has been removed entirely. Yet, valloc is deprecated and hence has been replaced with the C11 aligned_alloc.
  • The value LG_PAGE_SIZE is now derived as part of the pre-processor. That is, you only have to parse PAGE_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 the Cal_BddManager.
    • Provides the BDD class to hide reference counting with RAII.

    Both classes also provide access to the BDD operations (Cal with prefix-notation and BDD with infix-notation). Operations that depend on the Cal_BddManager's state, i.e. Exists and RelProd, are only provided by Cal.

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

15 Jan 12:47
Compare
Choose a tag to compare

Minor restructuring of the v2.1 files and making it compile and run on modern Linux machines.

2.1

15 Jan 12:44
Compare
Choose a tag to compare
2.1 Pre-release
Pre-release

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