diff options
| author | vojtechsu | 2023-11-23 16:24:15 +0100 |
|---|---|---|
| committer | J08nY | 2023-12-05 14:06:07 +0100 |
| commit | cab6cf16e55910cb95fe79aa12c826997bb82da3 (patch) | |
| tree | a1afc15d927516813e2c54979259ff5dff5cdf29 /pyecsca/ec | |
| parent | 94073d82238cacbaa41ee9dcb9d8201fa69e569a (diff) | |
| download | pyecsca-cab6cf16e55910cb95fe79aa12c826997bb82da3.tar.gz pyecsca-cab6cf16e55910cb95fe79aa12c826997bb82da3.tar.zst pyecsca-cab6cf16e55910cb95fe79aa12c826997bb82da3.zip | |
Add rename to efdgraph
Diffstat (limited to 'pyecsca/ec')
| -rw-r--r-- | pyecsca/ec/formula_gen/formula_graph.py | 11 |
1 files 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 |
