aboutsummaryrefslogtreecommitdiffhomepage
path: root/pyecsca/ec
diff options
context:
space:
mode:
authorJ08nY2023-10-06 22:45:12 +0200
committerJ08nY2023-10-06 22:45:12 +0200
commit0e300b7b532d1796fc2dbea6f09e326b856f866a (patch)
tree451571fbf08d29aa3d15bb55f25815c676bd4d4c /pyecsca/ec
parent3f89136bfdd0bbfa5efe0c7e75d2fb587bc79e32 (diff)
downloadpyecsca-0e300b7b532d1796fc2dbea6f09e326b856f866a.tar.gz
pyecsca-0e300b7b532d1796fc2dbea6f09e326b856f866a.tar.zst
pyecsca-0e300b7b532d1796fc2dbea6f09e326b856f866a.zip
Cache sympify results to speedup formula exec.
Diffstat (limited to 'pyecsca/ec')
-rw-r--r--pyecsca/ec/curve.py3
-rw-r--r--pyecsca/ec/formula.py3
-rw-r--r--pyecsca/ec/params.py3
3 files changed, 6 insertions, 3 deletions
diff --git a/pyecsca/ec/curve.py b/pyecsca/ec/curve.py
index 8cc7dba..b69bc9b 100644
--- a/pyecsca/ec/curve.py
+++ b/pyecsca/ec/curve.py
@@ -5,7 +5,8 @@ from copy import copy
from typing import MutableMapping, Union, List, Optional, Dict, Set
from public import public
-from sympy import FF, sympify
+from sympy import FF
+from ..misc.cache import sympify
from .coordinates import CoordinateModel, AffineCoordinateModel
from .error import raise_unsatisified_assumption
diff --git a/pyecsca/ec/formula.py b/pyecsca/ec/formula.py
index 3e825e4..ed3afb5 100644
--- a/pyecsca/ec/formula.py
+++ b/pyecsca/ec/formula.py
@@ -9,7 +9,8 @@ from typing import List, Set, Any, ClassVar, MutableMapping, Tuple, Union, Dict
from importlib_resources.abc import Traversable
from public import public
-from sympy import sympify, FF, symbols, Poly, Rational
+from sympy import FF, symbols, Poly, Rational
+from ..misc.cache import sympify
from .context import ResultAction
from . import context
diff --git a/pyecsca/ec/params.py b/pyecsca/ec/params.py
index 54656d4..3a6a54d 100644
--- a/pyecsca/ec/params.py
+++ b/pyecsca/ec/params.py
@@ -5,7 +5,7 @@ It also provides a domain parameter class and a class for a whole category of do
"""
import json
import csv
-from sympy import Poly, FF, symbols, sympify
+from sympy import Poly, FF, symbols
from astunparse import unparse
from io import RawIOBase, BufferedIOBase
from pathlib import Path
@@ -14,6 +14,7 @@ from importlib_resources import files
from public import public
+from ..misc.cache import sympify
from .coordinates import AffineCoordinateModel, CoordinateModel
from .curve import EllipticCurve
from .error import raise_unsatisified_assumption