New in Version 0.17.0
Released 13 May 2023
Interface Changes
This release mainly changes the file layout.
Header file meddly.h
is now an umbrella header,
and implementation is further divided out into
header and implementation files.
Mostly the interface itself is unchanged, with a few exceptions.
-
Header file
meddly_expert.h
has been eliminated. -
Necessary header files will be installed under
(prefix)/include/meddly
, instead of(prefix)/include
. -
Class
expert_variable
has been merged into classvariable
. It is anticipated that other simple and expert versions of classes will be merged in future releases. -
Operation names (COMPLEMENT, CARDINALITY, etc.) have changed type; they are now functions of no parameters, that return an operation name.
-
Several enums, structs, and classes that were within other classes, have become stand-alone (top-level) enum classes, structs, or classes.
Type changes
Old type | New type |
---|---|
struct MEDDLY::forest::policies | struct MEDDLY::policies |
enum MEDDLY::forest::policies::reduction_rule | enum class MEDDLY::reduction_rule |
enum MEDDLY::forest::range_type | enum class MEDDLY::range_type |
enum MEDDLY::forest::edge_labeling | enum class MEDDLY::edge_labeling |
class MEDDLY::expert_forest::bool_Tencoder | class MEDDLY::bool_Tencoder |
class MEDDLY::expert_forest::int_Tencoder | class MEDDLY::int_Tencoder |
class MEDDLY::expert_forest::float_Tencoder | class MEDDLY::float_Tencoder |
class MEDDLY::expert_forest::EVencoder | class MEDDLY::EVencoder |
enum MEDDLY::unpacked_node::storage_style | MEDDLY::node_storage_flags |
struct MEDDLY::ct_initializer::settings | struct MEDDLY::ct_settings |
enum MEDDLY::compute_table::typeID | enum class MEDDLY::ct_typeID |
union MEDDLY::compute_table::entry_item | union MEDDLY::ct_entry_item |
class MEDDLY::compute_table::entry_type | class MEDDLY::ct_entry_type |
class MEDDLY::compute_table::entry_key | class MEDDLY::ct_entrry_key |
class MEDDLY::compute_table::entry_result | class MEDDLY::ct_entry_result |
Enum item changes
Old item | New item |
---|---|
MEDDLY::forest::policies::PESSIMISTIC_DELETION | MEDDLY::policies::node_deletion::PESSIMISTIC |
MEDDLY::forest::policies::OPTIMISTIC_DELETION | MEDDLY::policies::node_deletion::OPTIMISTIC |
MEDDLY::forest::policies::NEVER_DELETE | MEDDLY::policies::node_deletion::NEVER |
MEDDLY::forest::BOOLEAN | MEDDLY::range_type::BOOLEAN |
MEDDLY::forest::INTEGER | MEDDLY::range_type::INTEGER |
MEDDLY::forest::REAL | MEDDLY::range_type::REAL |
MEDDLY::forest::MULTI_TERMINAL | MEDDLY::edge_labeling::MULTI_TERMINAL |
MEDDLY::forest::EVPLUS | MEDDLY::edge_labeling::EVPLUS |
MEDDLY::forest::EVTIMES | MEDDLY::edge_labeling::EVTIMES |
MEDDLY::forest::INDEX_SET | MEDDLY::edge_labeling::INDEX_SET |
Method changes
Old call | New call |
---|---|
node_storage::moveNodeOffset(node, old, new) | node_storage::getParent()->moveNodeOffset(node, old, new) |
unpacked_node::useUnpackedNode() | unpacked_node::New() |
unpacked_node::newFromNode(f, nh, howstored) | expert_forest::newUnpacked(nh, howstored) |
unpacked->initFromNode(f, nh, howstored) | f->unpackNode(unpacked, nh, howstored) |
howstored should be: | FULL_ONLY (previously true) |
SPARSE_ONLY (previously false) | |
FULL_OR_SPARSE |