From: Raymond Hettinger Date: Fri, 18 Oct 2019 21:20:35 +0000 (-0700) Subject: bpo-38521: Fix error in NormalDist.__eq__() (GH-16840) X-Git-Tag: v3.9.0a1~158 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5eabec022b9a10734fcf58faad02c4d233592f64;p=thirdparty%2FPython%2Fcpython.git bpo-38521: Fix error in NormalDist.__eq__() (GH-16840) --- diff --git a/Lib/statistics.py b/Lib/statistics.py index 0d747b3d6c05..461ffae3f491 100644 --- a/Lib/statistics.py +++ b/Lib/statistics.py @@ -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." diff --git a/Lib/test/test_statistics.py b/Lib/test/test_statistics.py index af26473e8fdf..bebd9b5d6f50 100644 --- a/Lib/test/test_statistics.py +++ b/Lib/test/test_statistics.py @@ -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: diff --git a/Misc/NEWS.d/next/Library/2019-10-18-13-57-31.bpo-38521.U-7aaM.rst b/Misc/NEWS.d/next/Library/2019-10-18-13-57-31.bpo-38521.U-7aaM.rst new file mode 100644 index 000000000000..9335bdc9545c --- /dev/null +++ b/Misc/NEWS.d/next/Library/2019-10-18-13-57-31.bpo-38521.U-7aaM.rst @@ -0,0 +1 @@ +Fixed erroneous equality comparison in statistics.NormalDist().