Browse Source

bpo-36018: Make __pos__ return a distinct instance of NormDist (GH-12009)

https://bugs.python.org/issue36018
pull/12011/head
Raymond Hettinger 7 years ago
committed by Miss Islington (bot)
parent
commit
79fbcc597d
  1. 2
      Lib/statistics.py
  2. 12
      Lib/test/test_statistics.py

2
Lib/statistics.py

@ -762,7 +762,7 @@ class NormalDist:
return NormalDist(x1.mu / x2, x1.sigma / fabs(x2))
def __pos__(x1):
return x1
return NormalDist(x1.mu, x1.sigma)
def __neg__(x1):
return NormalDist(-x1.mu, x1.sigma)

12
Lib/test/test_statistics.py

@ -2128,6 +2128,18 @@ class TestNormalDist(unittest.TestCase):
with self.assertRaises(statistics.StatisticsError):
Y.cdf(90)
def test_unary_operations(self):
NormalDist = statistics.NormalDist
X = NormalDist(100, 12)
Y = +X
self.assertIsNot(X, Y)
self.assertEqual(X.mu, Y.mu)
self.assertEqual(X.sigma, Y.sigma)
Y = -X
self.assertIsNot(X, Y)
self.assertEqual(X.mu, -Y.mu)
self.assertEqual(X.sigma, Y.sigma)
def test_same_type_addition_and_subtraction(self):
NormalDist = statistics.NormalDist
X = NormalDist(100, 12)

Loading…
Cancel
Save