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