sympy/sympy — pull request #980 by smichr (2012-01-15 07:54:09+00:00)
Title: 3001: a**1.0 == a

Whereas a**2.0 == a**2 and a**1.5 == sqrt(a)**3, a**1.0 does not
equal `a` because the case of a trivial exponent is not considered.

This commit adds that introspection to Basic.__eq__. A new method
is not added to Pow since although that would be useful for catching
the case of x**1.0 == x it would not catch the case of x*y == (x*y)**1.0
(or any other object other than a Mul that might be the base of the
Pow having a 1.0 exponent).

http://code.google.com/p/sympy/issues/detail?id=3001 and discussion at http://groups.google.com/group/sympy/browse_thread/thread/4ebe4f90cc24877e#