aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJ08nY2024-07-12 18:18:25 +0200
committerJ08nY2024-07-12 18:18:25 +0200
commit2383ae17331b433b922bf6a21bffa3c58f1c665d (patch)
tree661a6efd8881a81762ac5d50ebf9c6c5d7416de1
parent539812a80ba8a178a5801d8f8dcc9a252104768e (diff)
downloadpyecsca-2383ae17331b433b922bf6a21bffa3c58f1c665d.tar.gz
pyecsca-2383ae17331b433b922bf6a21bffa3c58f1c665d.tar.zst
pyecsca-2383ae17331b433b922bf6a21bffa3c58f1c665d.zip
Use faster xreplace everywhere.
-rw-r--r--pyecsca/ec/curve.py2
-rw-r--r--pyecsca/ec/formula/unroll.py2
2 files changed, 2 insertions, 2 deletions
diff --git a/pyecsca/ec/curve.py b/pyecsca/ec/curve.py
index fedf65f..ff89819 100644
--- a/pyecsca/ec/curve.py
+++ b/pyecsca/ec/curve.py
@@ -121,7 +121,7 @@ class EllipticCurve:
expr = sympify(f"{rhs} - {lhs}")
for symbol in expr.free_symbols:
if (val := self.parameters.get(str(symbol), None)) is not None:
- expr = expr.subs(symbol, val)
+ expr = expr.xreplace({symbol: val})
if len(expr.free_symbols) > 0:
raise ValueError(
f"Missing necessary coordinate model parameter ({assumption_string})."
diff --git a/pyecsca/ec/formula/unroll.py b/pyecsca/ec/formula/unroll.py
index 83a7517..3c63e00 100644
--- a/pyecsca/ec/formula/unroll.py
+++ b/pyecsca/ec/formula/unroll.py
@@ -39,7 +39,7 @@ def unroll_formula_expr(formula: Formula) -> List[Tuple[str, Expr]]:
# Handle a symbolic assignment to a new parameter.
expr = sympify(rhs, evaluate=False)
for curve_param, value in params.items():
- expr = expr.subs(curve_param, value)
+ expr = expr.xreplace({curve_param: value})
params[lhs] = expr
locls = {**params, **inputs}