198 Commits

Author SHA1 Message Date
Miss Islington (bot)
a90539f572 bpo-42944 Fix Random.sample when counts is not None (GH-24235) (GH-24243) 2021-01-18 10:36:07 -08:00
Miss Islington (bot)
17c1f0c8cb bpo-42931: randbytes missing from random.__all__ (GH-24219) (GH-24225) 2021-01-15 10:21:52 -08:00
Miss Islington (bot)
486c256bdf Improve code organization for the random module (GH-21161) (GH-21163) 2020-07-02 18:12:50 -07:00
Miss Islington (bot)
cd696201ff Small clean-ups for the random module (GH-21038) (GH-21065) 2020-06-22 21:22:40 -07:00
Miss Islington (bot)
f1534d0840 Minor code clean-ups (GH-20838) (GH-20858) 2020-06-13 10:23:48 -07:00
Raymond Hettinger
81a5fc38e8 bpo-40541: Add optional *counts* parameter to random.sample() (GH-19970) 2020-05-08 07:53:15 -07:00
Raymond Hettinger
190fac99c5 bpo-40465: Deprecate the optional argument to random.shuffle(). (#19867) 2020-05-02 16:45:32 -07:00
Raymond Hettinger
4168f1e460 Simplify choice()'s interaction with the private _randbelow() method (GH-19831) 2020-05-01 10:34:19 -07:00
Victor Stinner
2d8757758d bpo-40286: Remove C implementation of Random.randbytes() (GH-19797)
Remove _random.Random.randbytes(): the C implementation of
randbytes(). Implement the method in Python to ease subclassing:
randbytes() now directly reuses getrandbits().
2020-04-29 18:49:00 +02:00
Raymond Hettinger
4fe002045f bpo-40325: Deprecate set object support in random.sample() (GH-19591) 2020-04-19 00:36:42 -07:00
Antoine Pitrou
75a3378810 bpo-40282: Allow random.getrandbits(0) (GH-19539) 2020-04-17 19:32:14 +02:00
Victor Stinner
9f5fe7910f bpo-40286: Add randbytes() method to random.Random (GH-19527)
Add random.randbytes() function and random.Random.randbytes()
method to generate random bytes.

Modify secrets.token_bytes() to use SystemRandom.randbytes()
rather than calling directly os.urandom().

Rename also genrand_int32() to genrand_uint32(), since it returns an
unsigned 32-bit integer, not a signed integer.

The _random module is now built with Py_BUILD_CORE_MODULE defined.
2020-04-17 19:05:35 +02:00
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