From cab6cf16e55910cb95fe79aa12c826997bb82da3 Mon Sep 17 00:00:00 2001 From: vojtechsu Date: Thu, 23 Nov 2023 16:24:15 +0100 Subject: Add rename to efdgraph --- pyecsca/ec/formula_gen/formula_graph.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pyecsca/ec/formula_gen/formula_graph.py b/pyecsca/ec/formula_gen/formula_graph.py index 402e77f..0d6c145 100644 --- a/pyecsca/ec/formula_gen/formula_graph.py +++ b/pyecsca/ec/formula_gen/formula_graph.py @@ -156,7 +156,7 @@ class EFDFormulaGraph: self.output_names: Set = None self.roots: List = None - def construct_graph(self, formula: EFDFormula): + def construct_graph(self, formula: EFDFormula, rename = True): self._formula = formula # TODO remove, its here only for to_EFDFormula self.output_names = formula.outputs self.input_nodes = {v: InputNode(v) for v in formula_input_variables(formula)} @@ -186,7 +186,8 @@ class EFDFormulaGraph: for node in self.nodes: if not node.incoming_nodes and not node in self.roots: self.roots.append(node) - self.reindex() + if rename: + self.reindex() def node_index(self, node: CodeOpNode) -> int: return self.nodes.index(node) @@ -308,3 +309,9 @@ class EFDFormulaGraph: def print(self): for node in self.nodes: print(node) + + +def rename_ivs(formula: EFDFormula): + graph = EFDFormulaGraph() + graph.construct_graph(formula) + return graph.to_EFDFormula() \ No newline at end of file -- cgit v1.2.3-70-g09d2