New in Version 0.17.7
Released 23 Jan 2025
Interface Changes
-
Added classes
mintermandminterm_collto deal with variable assignments and truth tables over sets and relations. Both of these are inminterms.handminterms.cc. -
Creating functions from single minterms or minterm collections is now done using methods
minterm::buildFunction(),minterm_coll::buildFunctionMax(), andminterm_coll::buildFunctionMin(). These methods allow specification of a default value, and in the case of minterm collections, specify how to deal with overlapping minterms in the collection (take the max or min value). These replace severalforest::createEdge()methods, which are now deprecated. -
Function evaluation is now done through
dd_edge::evaluate. This replaces severalforest::evaluate()methods, which are now deprecated. -
dd_edge::set()parameters are reversed, for consistency (edge value before node). - Iterating through a function is now done using
an instance of
dd_edge::iterator, created withThe interface is similar to STL iterators, except it is slightly faster to use the boolean operator than to compare with ```end()```, i.e., to use a loop of the form ```c++ for (dd_edge::iterator I = e.begin(); I; ++I)You can pass a mask as a parameter to
begin(); this should be a pointer to a (const)mintermwith values set toDONT_CAREfor variables that are free to take any value,DONT_CHANGEfor relation “to” variables that must equal their “from” counterpart, or a regular non-negative integer value to fix a variable. The oldenumeratorclass is now deprecated. -
Old
forest::getElement()is deprecated, in favor ofdd_edge::getElement(). - Old
forest::createEdge()for constant functions are deprecated, in favor offorest::createConstant().
Implementation
-
Updated minimum and maximum operations; works for all forest types. MINIMUM should be used instead of UNION for EV+MDDs, and MAXIMUM should be used instead of INTERSECTION for EV+MDDs.
-
Added comparison operations for EV+ and EV*.
Tests
- Most of these features are thoroughly tested in
chk_mintermsandchk_mtcoll.