If this PR is added, number comparisons will be consistent with expr behavior in terms of equality: `x**2 != x**2.0` and (new change) `Integer(2) != Float(2)`. In addition there will no longer be a `Float(0)` -- it will collapse to `S(0)`.
I really need input on whether this is going to work, especially on the Fortran front (see changed printing tests and codegen test). The codegen is representative of the change: assert fcode(literal_dp(0), source_format='free') == '0d0' -> '0' I am too inactive in current Fortran code to know if this is going to create issues. If this is an issue then perhaps we could allow `Float(0) == S(0) == Float(0, 5) == Float(0, 100)` in contradiction to the behavior for non-zero numbers, e.g. `Float(1) != S(1) != Float(1,5) != Float(1, 100)`. /c -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/6ab30cc8-11d4-4ea9-92c6-9e9cc0ba9970n%40googlegroups.com.