Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | SF# 1635892: Fix docs for betavariate's input parameters . | Raymond Hettinger | 2007-01-19 | 1 | -1/+1 |
| | |||||
* | Bug #1590891: random.randrange don't return correct value for big number | Raymond Hettinger | 2006-12-20 | 1 | -1/+1 |
| | | | | Needs to be backported. | ||||
* | shuffle() doscstring: Removed warning about sequence length | Tim Peters | 2006-06-10 | 1 | -12/+6 |
| | | | | | | | | | versus generator period. While this was a real weakness of the older WH generator for lists with just a few dozen elements, and so could potentially bite the naive ;-), the Twister should show excellent behavior up to at least 600 elements. Module docstring: reflowed some jarringly short lines. | ||||
* | Another crack at bug #1460340: make random.sample(dict) | Tim Peters | 2006-04-01 | 1 | -3/+14 |
| | | | | work, this time by ugly brute force. | ||||
* | SF bug #1460340: random.sample can raise KeyError | Raymond Hettinger | 2006-03-29 | 1 | -10/+11 |
| | | | | Fix the hit and miss style of testing for sets and dicts. | ||||
* | Whitespace normalization (via reindent.py). | Tim Peters | 2005-08-26 | 1 | -1/+1 |
| | |||||
* | Implement random.sample() using sets instead of dicts. | Raymond Hettinger | 2005-08-19 | 1 | -9/+13 |
| | |||||
* | SF patch #1191489: Simplify logic in random.py | Raymond Hettinger | 2005-04-30 | 1 | -9/+10 |
| | |||||
* | Removed unused line. | Raymond Hettinger | 2005-01-03 | 1 | -1/+0 |
| | |||||
* | Use floor division operator. | Raymond Hettinger | 2004-09-27 | 1 | -2/+2 |
| | |||||
* | SF #1027105: HardwareRandom should be renamed OSRandom | Raymond Hettinger | 2004-09-13 | 1 | -11/+13 |
| | | | | | | Renamed the new generator at Trevor's recommendation. The name HardwareRandom suggested a bit more than it delivered (no radioactive decay detectors or such). | ||||
* | Fulfill Martin's request to use try/except rather than a "look before | Raymond Hettinger | 2004-09-05 | 1 | -17/+8 |
| | | | | you leap" approach. Makes the early call to os.urandom() unnecessary. | ||||
* | SF bug #1022010: Import random fails | Raymond Hettinger | 2004-09-03 | 1 | -1/+2 |
| | | | | | * trap NotImplementedError raised by os.urandom calls when not available on a particular system. | ||||
* | HardwareRandom: Go back to multiplying by 2**-BPF instead of using | Tim Peters | 2004-08-31 | 1 | -2/+3 |
| | | | | | | | | | | ldexp. Both methods are exact, and return the same results. Turns out multiplication is a few (but just a few) percent faster on my box. They're both significantly faster than using struct with a Q format to convert bytes to a 64-bit long (struct.unpack() appears to lose due to the tuple creation/teardown overhead), and calling _hexlify is significantly faster than doing bytes.encode('hex'). So we appear to have hit a local minimum (wrt speed) here. | ||||
* | Take advantage of the math library's ldexp for assembling a float by | Raymond Hettinger | 2004-08-31 | 1 | -5/+3 |
| | | | | | | | components without division and without roundoff error for properly sized mantissas (i.e. on systems with 53 or more mantissa bits per float). Eliminates the previous implementation's rounding bias as aptly demonstrated by Tim Peters. | ||||
* | Teach the random module about os.urandom(). | Raymond Hettinger | 2004-08-30 | 1 | -8/+62 |
| | | | | | * Use it for seeding when it is available. * Provide an alternate generator based on it. | ||||
* | Fix typo in comment. | Raymond Hettinger | 2004-06-07 | 1 | -1/+1 |
| | |||||
* | SF bug #964230: random.choice([]) should return more intelligible exception | Raymond Hettinger | 2004-06-05 | 1 | -1/+1 |
| | | | | Add a comment to make the traceback less mysterious. | ||||
* | Reflow long line. | Jeremy Hylton | 2004-02-23 | 1 | -6/+6 |
| | |||||
* | Whitespace normalization. | Tim Peters | 2004-01-18 | 1 | -1/+1 |
| | |||||
* | Implement and apply PEP 322, reverse iteration | Raymond Hettinger | 2003-11-06 | 1 | -1/+1 |
| | |||||
* | Minor fixup. "Random" was listed twice in __all__. | Raymond Hettinger | 2003-10-12 | 1 | -2/+1 |
| | |||||
* | SF bug #812202: randint is always even | Raymond Hettinger | 2003-10-05 | 1 | -10/+54 |
| | | | | | | | * Added C coded getrandbits(k) method that runs in linear time. * Call the new method from randrange() for ranges >= 2**53. * Adds a warning for generators not defining getrandbits() whenever they have a call to randrange() with too large of a population. | ||||
* | SF bug #801342: Bug (documentation or real, your choice) in random.sample. | Raymond Hettinger | 2003-09-06 | 1 | -0/+4 |
| | | | | | | | | | | | | random.sample() uses one of two algorithms depending on the ratio of the sample size to the population size. One of the algorithms accepted any iterable population argument so long as it defined __len__(). The other had a stronger requirement that the population argument be indexable. While it met the documentation specifications which insisted that the population argument be a sequence, it made random.sample() less usable with sets. So, the second algorithm was modified to coerce non-indexable iterables and dictionaries into a tuple before proceeding. | ||||
* | Eliminate unnecessary eval() in tests | Raymond Hettinger | 2003-08-30 | 1 | -19/+18 |
| | |||||
* | SF bug #778964: bad seed in python 2.3 random | Raymond Hettinger | 2003-08-09 | 1 | -0/+3 |
| | | | | | | | The default seed is time.time(). Multiplied by 256 before truncating so that fractional seconds are used. This way, two successive calls to random.seed() are much more likely to produce different sequences. | ||||
* | Removed deprecated functions | Raymond Hettinger | 2003-08-05 | 1 | -49/+2 |
| | |||||
* | SF bug #759889: Pickling of Random is broken | Raymond Hettinger | 2003-06-24 | 1 | -0/+3 |
| | | | | | * Implement __reduce__() to support pickling. * Add a test case to prove a successful roundtrip through pickle. | ||||
* | randrange(): Repaired my overly optimistic rewrite, and added comments | Tim Peters | 2003-06-19 | 1 | -1/+13 |
| | | | | explaining what's wrong with the two simpler variants. | ||||
* | randrange(): 2.3 can no longer raises OverflowError on an int() call, so | Tim Peters | 2003-06-19 | 1 | -10/+1 |
| | | | | | | some of this code because useless, and (worse) could return a long instead of int (in Zope that's important, because a long can't be used as a key in an IOBTree or IIBTree). | ||||
* | SF bug #753602: random.sample not properly documented | Raymond Hettinger | 2003-06-13 | 1 | -4/+5 |
| | | | | | The docs were fine but the "int=int" in the function call was both ugly and confusing. Moved it inside the body of the function definition. | ||||
* | 'sum' is no longer a good variable name. Use 'total' instead. | Raymond Hettinger | 2003-05-24 | 1 | -3/+3 |
| | |||||
* | * Migrate sample distribution test from random.py to test_random.py. | Raymond Hettinger | 2003-01-17 | 1 | -5/+0 |
| | | | | * Use Sets module to more clearly articulate a couple of tests. | ||||
* | Much clearer when super() is used. | Raymond Hettinger | 2003-01-07 | 1 | -5/+5 |
| | |||||
* | Move the statistical tests for four distributions into the unittest suite. | Raymond Hettinger | 2003-01-05 | 1 | -3/+0 |
| | |||||
* | Correct long standing bugs in the methods for random distributions. | Raymond Hettinger | 2003-01-04 | 1 | -4/+6 |
| | | | | | | | The range of u=random() is [0,1), so log(u) and 1/x can fail. Fix by setting u=1-random() or by reselecting for a usable value. Will backport. | ||||
* | Remove the random=None nonsense from sample() before it gets set in stone. | Raymond Hettinger | 2003-01-04 | 1 | -18/+11 |
| | | | | | | | It was once available so that faster generators could be substituted. Now, that is less necessary and preferrably done via subclassing. Also, clarified and shortened the comments for sample(). | ||||
* | SF patch 658251: Install a C implementation of the Mersenne Twister as the | Raymond Hettinger | 2002-12-29 | 1 | -225/+178 |
| | | | | core generator for random.py. | ||||
* | Clarify and speedup test. | Raymond Hettinger | 2002-12-07 | 1 | -2/+3 |
| | |||||
* | Improve comments. Clarify docs. | Raymond Hettinger | 2002-11-18 | 1 | -15/+14 |
| | | | | | Replace "type(0)" with "int". Replace "while 1" with "while True" | ||||
* | Improved clarity and thoroughness of docstring. | Raymond Hettinger | 2002-11-13 | 1 | -20/+41 |
| | | | | | | | | Added design notes in comments. Used better variable names. Eliminated the unsavory "pool[-k:]" which was an aspiring bug (for k==0). Used if/else to show the two algorithms in parallel style. Added one more test assertion. | ||||
* | Docstring typo fix | Andrew M. Kuchling | 2002-11-13 | 1 | -1/+1 |
| | |||||
* | SF patch 629637: Add sample(population, k) method to the random module. | Raymond Hettinger | 2002-11-12 | 1 | -2/+56 |
| | | | | Used for random sampling without replacement. | ||||
* | SF bug 594996: OverflowError in random.randrange | Tim Peters | 2002-08-16 | 1 | -4/+17 |
| | | | | | | Loosened the acceptable 'start' and 'stop' arguments so that any Python (bounded) ints can be used. So, e.g., randrange(-sys.maxint-1, sys.maxint) no longer blows up. | ||||
* | Whitespace normalized. | Raymond Hettinger | 2002-05-23 | 1 | -11/+11 |
| | |||||
* | Deprecated Random.cunifvariate clearing bug 506647. Also, added docstrings. | Raymond Hettinger | 2002-05-23 | 1 | -0/+81 |
| | |||||
* | Whitespace normalization. | Tim Peters | 2002-05-23 | 1 | -5/+5 |
| | |||||
* | Use spaces, not tabs for indents. | Guido van Rossum | 2002-05-14 | 1 | -4/+4 |
| | | | | Raymond Hettinger, beware! This caused the Unix install to fail! | ||||
* | Closes patch 529408 deprecating random.stdgamma(). | Raymond Hettinger | 2002-05-14 | 1 | -11/+35 |
| | |||||
* | Closes SF bug 527139. Moved temp variables inside guard. | Raymond Hettinger | 2002-05-13 | 1 | -7/+6 |
| |