Commit Graph

186 Commits

Author SHA1 Message Date
Raymond Hettinger 041d8b48a2
bpo-38881: choices() raises ValueError when all weights are zero (GH-17362) 2019-11-23 02:22:13 -08:00
Raymond Hettinger d0cdeaab76
bpo-32554: Deprecate hashing arbitrary types in random.seed() (GH-15382) 2019-08-22 09:19:36 -07:00
Serhiy Storchaka 2085bd0877
bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-13700) 2019-06-01 11:00:15 +03:00
Christian Heimes d914596a67 bpo-36559: random module: optimize sha512 import (GH-12742)
The random module now prefers the lean internal _sha512 module over hashlib
for seed(version=2) to optimize import time.

Signed-off-by: Christian Heimes <christian@python.org>
2019-04-10 13:18:02 -07:00
Raymond Hettinger 5382203ae1
Convert range to repeat for choices() (#11889) 2019-02-16 13:30:51 -08:00
Raymond Hettinger cfd31f0af2 Be consistent about the use of from-imports in random module (GH-11837)
Minor code clean-up.
2019-02-13 02:04:17 -08:00
Kumar Akshay 2433a2ab70 bpo-35782: Fix error message in randrange (GH-11620)
https://bugs.python.org/issue35782
2019-01-21 11:19:59 -08:00
leodema 63d152232e bpo-30561: Sync-up expovariate() and gammavariate code (GH-1934) 2018-12-23 22:54:25 -08:00
Victor Stinner 8db5b54463
bpo-35513, unittest: TextTestRunner uses time.perf_counter() (GH-11180)
TextTestRunner of unittest.runner now uses time.perf_counter() rather
than time.time() to measure the execution time of a test: time.time()
can go backwards, whereas time.perf_counter() is monotonic.

Similar change made in libregrtest, pprint and random.
2018-12-17 11:30:34 +01:00
Raymond Hettinger 09473ac063
Remove unnecessary and over-restrictive type check (GH-10905) 2018-12-04 14:53:14 -08:00
Raymond Hettinger 7fc633f5a5 Add comments regarding speed/space/entropy trade-offs (GH-10885) 2018-12-04 00:13:38 -08:00
Raymond Hettinger 0a18e0510a Hoist the float conversion out of the inner loop. (GH-10430)
Currently, the *n* and *total* variables get converted to floats each time they are multiplied by random().  This minor tweak does the conversion just once and gets a small speedup (approx 3%).
2018-11-09 02:39:50 -08:00
Raymond Hettinger e69cd169af
Minor code refactoring. Compute len() one fewer times on one code path. (GH-8094) 2018-07-04 15:28:20 -07:00
Raymond Hettinger ddf7171911
bpo-24567: Random subnormal.diff (#7954)
Handle subnormal weights for choices()
2018-06-27 01:08:31 -07:00
Serhiy Storchaka ec1622d56c
bpo-33144: Fix choosing random.Random._randbelow implementation. (GH-6563)
random() takes precedence over getrandbits() if defined later
in the class tree.
2018-05-08 15:45:15 +03:00
Wolfgang Maier ba3a87aca3 bpo-33144: random.Random and subclasses: split _randbelow implementation (GH-6291) 2018-04-17 08:16:17 -07:00
Wolfgang Maier 091e95e900 bpo-33203: Ensure random.choice always raises IndexError on empty sequence (GH-6338) 2018-04-05 08:19:44 -07:00
Raymond Hettinger 132a7d7cdb bpo-31482: Missing bytes support for random.seed() version 1 (#3614)
bpo-31482: Missing bytes support for random.seed() version 1 #3614
2017-09-17 09:04:30 -07:00
Raymond Hettinger f5ea83f486 random_triangular: sqrt() is more accurate than **0.5 (#3317) 2017-09-04 16:51:06 -07:00
leodema 9f396b605e fix comment (#1798) 2017-06-04 07:41:41 +01:00
Gregory P. Smith 163468a766 bpo-16500: Don't use string constants for os.register_at_fork() behavior (#1834)
Instead use keyword only arguments to os.register_at_fork for each of the scenarios.
Updates the documentation for clarity.
2017-05-29 10:03:41 -07:00
Antoine Pitrou 346cbd351e bpo-16500: Allow registering at-fork handlers (#1715)
* bpo-16500: Allow registering at-fork handlers

* Address Serhiy's comments

* Add doc for new C API

* Add doc for new Python-facing function

* Add NEWS entry + doc nit
2017-05-27 17:50:54 +02:00
Raymond Hettinger bb2839b680 Issue #29055: Suppress upstream exception for random.choice() 2016-12-27 01:06:52 -08:00
Raymond Hettinger bf87126a63 Issue 28475: Improve error message for random.sample() with k < 0. (Contributed by Francisco Couzo). 2016-11-21 14:34:33 -08:00
Raymond Hettinger 24e4239434 Fix typos 2016-11-13 00:42:56 -05:00
Raymond Hettinger 8567e58ae3 Minor code beautification 2016-11-01 22:23:11 -07:00
Raymond Hettinger 30d00e54dd Issue #18844: Make the various ways for specifing weights produce the same results. 2016-10-29 16:55:36 -07:00
Raymond Hettinger 9016f2864a Issue #18844: Make the number of selections a keyword-only argument for random.choices(). 2016-09-26 21:45:57 -07:00
Raymond Hettinger 28aa4a0684 Rename weighted_choices() to just choices() 2016-09-07 00:08:44 -07:00
Raymond Hettinger e8f1e002c6 Issue #18844: Add random.weighted_choices() 2016-09-06 17:15:29 -07:00
Victor Stinner e66987e626 os.urandom() now blocks on Linux
Issue #27776: The os.urandom() function does now block on Linux 3.17 and newer
until the system urandom entropy pool is initialized to increase the security.

This change is part of the PEP 524.
2016-09-06 16:33:52 -07:00
Raymond Hettinger 6579502c7e Merge 2016-09-04 11:17:48 -07:00
Raymond Hettinger 16eb827b33 Improve docs for random.seed() 2016-09-04 11:17:28 -07:00
Raymond Hettinger 2f9cc7ab0c Minor beautification (turn nested-if into a conjunction). 2016-08-31 23:00:32 -07:00
Raymond Hettinger 112835cb3e Merge 2016-08-31 15:01:28 -07:00
Raymond Hettinger c7bab7cbf5 Issue #27706: Fix regression in random.seed(somestr, version=1) 2016-08-31 15:01:08 -07:00
Raymond Hettinger 650c1c9ddd Minor beautification 2016-06-25 05:36:42 +03:00
Martin Panter e26da7c03a Issue #27171: Fix typos in documentation, comments, and test function names 2016-06-02 10:07:09 +00:00
Raymond Hettinger d58a0b6876 merge 2014-05-25 17:28:38 -07:00
Raymond Hettinger 978c6abced Issue 13355: Make random.triangular degrade gracefully when low == high. 2014-05-25 17:25:27 -07:00
Raymond Hettinger 1f54814094 Improve readability 2014-05-19 20:21:43 +01:00
Raymond Hettinger 23042cda40 Issue #21470: Do a better job seeding the random number generator
to fully cover its state space.
2014-05-13 22:13:40 -07:00
Christian Heimes f1dc3ee16d Issue #19218: Rename collections.abc to _collections_abc in order to speed up interpreter start 2013-10-13 02:04:20 +02:00
Raymond Hettinger be74a3d721 Minor clean-up of function parameters in random(). 2013-10-05 21:52:06 -07:00
Raymond Hettinger 8fe47c3991 Minor clean-up of function parameters in random(). 2013-10-05 21:48:21 -07:00
Raymond Hettinger f77cdbeff7 Issue #19169: Micro refactoring with a micro benefit for brevity and speed. 2013-10-05 17:18:36 -07:00
Senthil Kumaran f5ce0122ce Removing the merge conflict markers.
- my previous removal and hg resolve mark had still left them and hooks did not catch it too!
2013-09-12 07:06:49 -07:00
Senthil Kumaran b4055f294e merge from 3.3
Improve the docstring of random.shuffle. Inform users not to provide int arg.
Addresses issue #14927
2013-09-11 22:55:54 -07:00
Senthil Kumaran f8ce51ab16 Improve the docstring of random.shuffle. Inform users not to provide int arg.
Addresses issue #14927
2013-09-11 22:54:31 -07:00
Serhiy Storchaka 46e1ce214b Issue #18783: Removed existing mentions of Python long type in docstrings,
error messages and comments.
2013-08-27 20:17:03 +03:00