diff options
| author | J08nY | 2024-08-26 18:00:34 +0200 |
|---|---|---|
| committer | J08nY | 2024-08-26 18:00:34 +0200 |
| commit | ccc6908e78fe97fb8264335515cac5a9dbb5028b (patch) | |
| tree | 87df609c31d02c4b172b0ec3e292d370cb51b4ac | |
| parent | 89a5183ad410e0a9b9a8c872b4548e1c32f9f83f (diff) | |
| download | pyecsca-ccc6908e78fe97fb8264335515cac5a9dbb5028b.tar.gz pyecsca-ccc6908e78fe97fb8264335515cac5a9dbb5028b.tar.zst pyecsca-ccc6908e78fe97fb8264335515cac5a9dbb5028b.zip | |
Make formula expand fully deterministic.
Hopefully!
| -rw-r--r-- | pyecsca/ec/formula/graph.py | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/pyecsca/ec/formula/graph.py b/pyecsca/ec/formula/graph.py index 494ed1a..e2fb1ee 100644 --- a/pyecsca/ec/formula/graph.py +++ b/pyecsca/ec/formula/graph.py @@ -198,7 +198,7 @@ class InputNode(Node): def formula_input_variables(formula: Formula) -> List[str]: return ( - list(formula.inputs) + sorted(formula.inputs) + formula.parameters + formula.coordinate_model.curve_model.parameter_names ) @@ -284,11 +284,8 @@ class FormulaGraph: graph = nx.DiGraph() for i, node in enumerate(self.nodes): graph.add_node(i, result=node.result, label=node.label, op=getattr(node, "op", None)) - stack = self.roots.copy() - while stack: - node = stack.pop() + for node in self.nodes: for out in node.outgoing_nodes: - stack.append(out) graph.add_edge(self.node_index(node), self.node_index(out)) return graph |
