bpo-38521: Fix error in NormalDist.__eq__() (GH-16840)

This commit is contained in:
Raymond Hettinger 2019-10-18 14:20:35 -07:00 committed by GitHub
parent ecb035cd14
commit 5eabec022b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 1 deletions

View File

@ -1092,7 +1092,7 @@ class NormalDist:
"Two NormalDist objects are equal if their mu and sigma are both equal."
if not isinstance(x2, NormalDist):
return NotImplemented
return (x1._mu, x2._sigma) == (x2._mu, x2._sigma)
return x1._mu == x2._mu and x1._sigma == x2._sigma
def __hash__(self):
"NormalDist objects hash equal if their mu and sigma are both equal."

View File

@ -2651,9 +2651,13 @@ class TestNormalDist:
nd2 = NormalDist(2, 4)
nd3 = NormalDist()
nd4 = NormalDist(2, 4)
nd5 = NormalDist(2, 8)
nd6 = NormalDist(8, 4)
self.assertNotEqual(nd1, nd2)
self.assertEqual(nd1, nd3)
self.assertEqual(nd2, nd4)
self.assertNotEqual(nd2, nd5)
self.assertNotEqual(nd2, nd6)
# Test NotImplemented when types are different
class A:

View File

@ -0,0 +1 @@
Fixed erroneous equality comparison in statistics.NormalDist().