#378 More parameters for CIF data-based synthesis variable ordering algorithms
requested to merge 378-generalize-data-based-synthesis-options-for-variable-ordering-algorithms into develop
- Generalize to allow mix of legacy and linearized hyper-edges/graphs:
- Add
RelationsKind
to configure legacy vs linearized relations. -
VarOrdererHelper
has representations perRelationsKind
.
- Add
- Parameterize metrics for different relations:
- Move metrics out of
VarOrdererHelper
(a class per metric). - More functionality from
VarOrdererHelper
in the metric classes. - Parameterize metrics with
RelationsKind
.
- Move metrics out of
- Debug output for different metric kinds:
-
VarOrdererHelper
:dbgMetrics
perRelationsKind
.
-
- Parameterize variable orders with metrics and relations kinds:
-
ChoiceVarOrderer
: relations kind. -
DcshVarOrderer
: metric, relations kind. -
ForceVarOrderer
: metric, relations kind. -
ReverseVarOrderer
: relations kind. -
SlidingWindowVarOrderer
: metric, relations kind. -
SloanVarOrderer
: relations kind. -
WeightedCuthillMcKeeVarOrderer
: node finder, relations kind.
-
- Moved defaults to
CifToSynthesisConverter
. - Some other improvements:
- Fix:
LinearizedHyperEdgeCreator
must not extendLegacyHyperEdgeCreator
. - Aligned hyper-edges and graphs in
CifToSynthesisConverter
. - Moved hyper-edge creators to separate package.
- Moved variable ordering metrics to separate package.
- Fix:
- Note that:
- These changes are backwards compatible for the user.
- There are no options yet to exploit the new possibilities. (that will be a separate merge request)
- The base orderers have not been made into separate classes.
It is probably easiest to review this per commit.
Addresses #378 (closed)