From e25b6f6450076594350258048a480e58a9559b2a Mon Sep 17 00:00:00 2001 From: root Date: Mon, 8 Aug 2022 11:24:48 -0700 Subject: [PATCH] Added fix for random rewrite rule sorts and moved mac operations to top of list --- metamapper/rewrite_table.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/metamapper/rewrite_table.py b/metamapper/rewrite_table.py index cea37b9..c786ba9 100644 --- a/metamapper/rewrite_table.py +++ b/metamapper/rewrite_table.py @@ -179,6 +179,7 @@ def discover(self, from_name, to_name, path_constraints={}, rr_name=None, solver def sort_rules(self): + self.rules.sort(key=lambda x: x.name) rule_nodes = [] for rule in self.rules: dag = rule.tile @@ -187,3 +188,13 @@ def sort_rules(self): keydict = dict(zip(self.rules, rule_nodes)) self.rules.sort(key=keydict.get, reverse=True) + + mul_add_rules = [] + for idx,rule in enumerate(self.rules): + if "mac" in rule.name or "muladd" in rule.name: + mul_add_rules.append(idx) + + for idx in mul_add_rules: + self.rules.insert(0, self.rules.pop(idx)) + +