[Python-checkins] cpython (merge 3.3 -> default): Revert changes for #13355 by request from Raymond Hettinger

andrew.svetlov python-checkins at python.org
Sat Apr 13 17:07:30 CEST 2013


http://hg.python.org/cpython/rev/39bbbf5d7b01
changeset:   83289:39bbbf5d7b01
parent:      83286:9e7d31b04d78
parent:      83288:e948154af406
user:        Andrew Svetlov <andrew.svetlov at gmail.com>
date:        Sat Apr 13 18:04:19 2013 +0300
summary:
  Revert changes for #13355 by request from Raymond Hettinger

files:
  Lib/random.py           |  10 ----------
  Lib/test/test_random.py |  29 +----------------------------
  Misc/ACKS               |   1 -
  Misc/NEWS               |   3 ---
  4 files changed, 1 insertions(+), 42 deletions(-)


diff --git a/Lib/random.py b/Lib/random.py
--- a/Lib/random.py
+++ b/Lib/random.py
@@ -345,16 +345,6 @@
         http://en.wikipedia.org/wiki/Triangular_distribution
 
         """
-        # Sanity check. According to the doc low must be less or equal to
-        # high. And mode should be somewhere between these bounds.
-        if low > high:
-            raise ValueError('high cannot be less then low.')
-        if mode is not None and (mode < low or mode > high):
-            raise ValueError('mode must be between low and high.')
-
-        if high == low:
-            return low
-
         u = self.random()
         c = 0.5 if mode is None else (mode - low) / (high - low)
         if u > c:
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -48,33 +48,6 @@
         self.assertRaises(TypeError, self.gen.seed, 1, 2, 3, 4)
         self.assertRaises(TypeError, type(self.gen), [])
 
-    def test_triangular(self):
-        # Check that triangular() correctly handles bad input. See issue 13355.
-        # mode > high.
-        with self.assertRaises(ValueError):
-            random.triangular(mode=2)
-        with self.assertRaises(ValueError):
-            random.triangular(low=1, high=10, mode=11)
-        with self.assertRaises(ValueError):
-            random.triangular(low=1, high=1, mode=11)
-        # mode < low.
-        with self.assertRaises(ValueError):
-            random.triangular(mode=-1)
-        with self.assertRaises(ValueError):
-            random.triangular(low=1, high=10, mode=0)
-        with self.assertRaises(ValueError):
-            random.triangular(low=1, high=1, mode=0)
-        # low > high
-        with self.assertRaises(ValueError):
-            random.triangular(low=5, high=2)
-        with self.assertRaises(ValueError):
-            random.triangular(low=5, high=2, mode=1)
-        with self.assertRaises(ValueError):
-            random.triangular(low=-2, high=-5)
-
-        self.assertEqual(random.triangular(low=10, high=10), 10)
-        self.assertEqual(random.triangular(low=10, high=10, mode=10), 10)
-
     @unittest.mock.patch('random._urandom') # os.urandom
     def test_seed_when_randomness_source_not_found(self, urandom_mock):
         # Random.seed() uses time.time() when an operating system specific
@@ -623,7 +596,7 @@
         for variate, args, expected in [
                 (g.uniform, (10.0, 10.0), 10.0),
                 (g.triangular, (10.0, 10.0), 10.0),
-                (g.triangular, (10.0, 10.0, 10.0), 10.0),
+                #(g.triangular, (10.0, 10.0, 10.0), 10.0),
                 (g.expovariate, (float('inf'),), 0.0),
                 (g.vonmisesvariate, (3.0, float('inf')), 3.0),
                 (g.gauss, (10.0, 0.0), 10.0),
diff --git a/Misc/ACKS b/Misc/ACKS
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1110,7 +1110,6 @@
 Žiga Seilnacht
 Yury Selivanov
 Fred Sells
-Yuriy Senko
 Jiwon Seo
 Iñigo Serna
 Joakim Sernbrant
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -39,9 +39,6 @@
 Library
 -------
 
-- Issue #13355: Raise ValueError on random.triangular call with invalid params.
-  Initial patch by Yuriy Senko.
-
 - Issue #16658: add missing return to HTTPConnection.send()
   Patch by Jeff Knupp.
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list