#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
RelationsKindto configure legacy vs linearized relations. -
VarOrdererHelperhas representations perRelationsKind.
- Add
- Parameterize metrics for different relations:
- Move metrics out of
VarOrdererHelper(a class per metric). - More functionality from
VarOrdererHelperin the metric classes. - Parameterize metrics with
RelationsKind.
- Move metrics out of
- Debug output for different metric kinds:
-
VarOrdererHelper:dbgMetricsperRelationsKind.
-
- 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:
LinearizedHyperEdgeCreatormust 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)