Revert changes for #13355 by request from Raymond Hettinger

This commit is contained in:
Andrew Svetlov 2013-04-13 18:00:04 +03:00
parent 64aafeb4de
commit b4fd468f12
4 changed files with 1 additions and 45 deletions

View File

@ -341,16 +341,6 @@ class Random(_random.Random):
http://en.wikipedia.org/wiki/Triangular_distribution 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() u = self.random()
c = 0.5 if mode is None else (mode - low) / (high - low) c = 0.5 if mode is None else (mode - low) / (high - low)
if u > c: if u > c:

View File

@ -46,36 +46,6 @@ class TestBasicOps(unittest.TestCase):
self.assertRaises(TypeError, self.gen.seed, 1, 2, 3, 4) self.assertRaises(TypeError, self.gen.seed, 1, 2, 3, 4)
self.assertRaises(TypeError, type(self.gen), []) 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)
def test_choice(self): def test_choice(self):
choice = self.gen.choice choice = self.gen.choice
with self.assertRaises(IndexError): with self.assertRaises(IndexError):
@ -519,7 +489,7 @@ class TestDistributions(unittest.TestCase):
for variate, args, expected in [ for variate, args, expected in [
(g.uniform, (10.0, 10.0), 10.0), (g.uniform, (10.0, 10.0), 10.0),
(g.triangular, (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.expovariate, (float('inf'),), 0.0),
(g.vonmisesvariate, (3.0, float('inf')), 3.0), (g.vonmisesvariate, (3.0, float('inf')), 3.0),
(g.gauss, (10.0, 0.0), 10.0), (g.gauss, (10.0, 0.0), 10.0),

View File

@ -1088,7 +1088,6 @@ Nick Seidenman
Žiga Seilnacht Žiga Seilnacht
Yury Selivanov Yury Selivanov
Fred Sells Fred Sells
Yuriy Senko
Jiwon Seo Jiwon Seo
Iñigo Serna Iñigo Serna
Joakim Sernbrant Joakim Sernbrant

View File

@ -26,9 +26,6 @@ Core and Builtins
Library 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() - Issue #16658: add missing return to HTTPConnection.send()
Patch by Jeff Knupp. Patch by Jeff Knupp.