Skip to content
Snippets Groups Projects

Introduce default assignment simplifications

Merged Markus Holzer requested to merge holzer/pystencils:Simplifications into master
Viewing commit 6ad3bff9
Show latest version
1 file
+ 6
2
Preferences
Compare changes
@@ -84,14 +84,18 @@ def test_loop_over_coordinate():
@pytest.mark.parametrize('default_assignment_simplifications', [False, True])
def test_sympy_assignment(default_assignment_simplifications):
import logging
logging.basicConfig(level=logging.DEBUG)
from pystencils.simp.simplifications import apply_sympy_optimisations
assignment = SympyAssignment(dst[0, 0](0), sp.log(x + 3) / sp.log(2) + sp.log(x ** 2 + 1))
config = ps.CreateKernelConfig(default_assignment_simplifications=default_assignment_simplifications)
ast = ps.create_kernel([assignment], config=config)
code = ps.get_code_str(ast)
if default_assignment_simplifications:
assignments = apply_sympy_optimisations([assignment])
print(assignments)
if default_assignment_simplifications:
assert 'log1p' in code
# constant term is directly evaluated