]> granicus.if.org Git - python/commitdiff
bpo-38521: Fix error in NormalDist.__eq__() (GH-16840)
authorRaymond Hettinger <rhettinger@users.noreply.github.com>
Fri, 18 Oct 2019 21:20:35 +0000 (14:20 -0700)
committerGitHub <noreply@github.com>
Fri, 18 Oct 2019 21:20:35 +0000 (14:20 -0700)
Lib/statistics.py
Lib/test/test_statistics.py
Misc/NEWS.d/next/Library/2019-10-18-13-57-31.bpo-38521.U-7aaM.rst [new file with mode: 0644]

index 0d747b3d6c053172ee33868eca75ef09e44e5786..461ffae3f4914edd11f21b92f2ccdf9ec81a292a 100644 (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."
index af26473e8fdfc307a91346e3ecf31f56a9da6f37..bebd9b5d6f5026982edd6daa8d575df2f5588753 100644 (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:
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 (file)
index 0000000..9335bdc
--- /dev/null
@@ -0,0 +1 @@
+Fixed erroneous equality comparison in statistics.NormalDist().