Skip to content

Commit 65506aa

Browse files
committed
Use sympy for typechecking
1 parent d2a4245 commit 65506aa

2 files changed

Lines changed: 10 additions & 9 deletions

File tree

sumpy/symbolic.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,20 +91,20 @@ def _find_symbolic_backend():
9191

9292
# }}}
9393

94-
if USE_SYMENGINE:
95-
import symengine as sym
96-
97-
from pymbolic.interop.symengine import (
98-
PymbolicToSymEngineMapper as PymbolicToSympyMapperBase,
99-
SymEngineToPymbolicMapper as SympyToPymbolicMapperBase,
100-
)
101-
else:
94+
if TYPE_CHECKING or not USE_SYMENGINE:
10295
import sympy as sym
10396

10497
from pymbolic.interop.sympy import ( # type: ignore[assignment]
10598
PymbolicToSympyMapper as PymbolicToSympyMapperBase,
10699
SympyToPymbolicMapper as SympyToPymbolicMapperBase,
107100
)
101+
else:
102+
import symengine as sym
103+
104+
from pymbolic.interop.symengine import (
105+
PymbolicToSymEngineMapper as PymbolicToSympyMapperBase,
106+
SymEngineToPymbolicMapper as SympyToPymbolicMapperBase,
107+
)
108108

109109
# Symbolic API common to SymEngine and sympy.
110110
# Before adding a function here, make sure it's present in both modules.

test/test_cse.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,15 @@
6868
# }}}
6969

7070
import sys
71+
from typing import TYPE_CHECKING
7172

7273
import pytest
7374

7475
import sumpy.symbolic as sym
7576
from sumpy.cse import cse, postprocess_for_cse, preprocess_for_cse
7677

7778

78-
if not sym.USE_SYMENGINE:
79+
if TYPE_CHECKING or not sym.USE_SYMENGINE:
7980
from sympy.functions.special.hyper import meijerg
8081
from sympy.simplify import cse_opts
8182
from sympy.simplify.cse_opts import sub_post, sub_pre

0 commit comments

Comments
 (0)