Skip to content

Remove floor, ceiling for integer symbols

Original Intent

Allow optimizations by SymPy when we know that a TypedSymbol is_integer or is_real (e.g. drop rounding functions).

We can deduce some of those properties with Numpy's type system (https://docs.scipy.org/doc/numpy-1.13.0/reference/arrays.scalars.html). We have to be careful since all the is_* methods have ternary logic (True, False, None== we don't know).

Field.Access can take advantage of those optimizations by making it a subclass of TypedSymbol.

Extended Changes

By writing a test I realized that it would be handy to compare AssignmentCollections and use the functions find, match, subs, replace of SymPy.

Edited by Stephan Seitz

Merge request reports