Skip to content
Snippets Groups Projects

Address #13: Use sympy.codegen.rewriting.optimize

Merged Stephan Seitz requested to merge seitz/pystencils:use_codegen.rewriting.optimize into master
Viewing commit 03fe9ab0
Show latest version
2 files
+ 53
3
Preferences
Compare changes
Files
2
@@ -6,10 +6,28 @@ See :func:`sympy.codegen.rewriting.optimize`.
try:
from sympy.codegen.rewriting import optims_c99
from sympy.codegen.rewriting import optims_c99, optimize
from sympy.codegen.rewriting import ReplaceOptim
HAS_REWRITING = True
# Evaluates all constant terms
evaluate_constant_terms = ReplaceOptim(
lambda e: hasattr(e, 'is_constant') and e.is_constant,
lambda p: p.evalf()
)
optims_pystencils_cpu = [evaluate_constant_terms] + list(optims_c99)
optims_pystencils_gpu = [evaluate_constant_terms] + list(optims_c99)
except ImportError:
optims_c99 = []
optims_pystencils_cpu = [] + list(optims_c99)
optims_pystencils_gpu = [] + list(optims_c99)
# Evaluates all constant terms
evaluate_constant_terms = ReplaceOptim(
lambda e: e.is_constant,
lambda p: p.evalf()
)
optims_pystencils_cpu = [evaluate_constant_terms] + list(optims_c99)
optims_pystencils_gpu = [evaluate_constant_terms] + list(optims_c99)