summaryrefslogtreecommitdiffstats
path: root/Lib/random.py
Commit message (Collapse)AuthorAgeFilesLines
* Whitespace normalization.Tim Peters2004-01-181-1/+1
|
* Implement and apply PEP 322, reverse iterationRaymond Hettinger2003-11-061-1/+1
|
* Minor fixup. "Random" was listed twice in __all__.Raymond Hettinger2003-10-121-2/+1
|
* SF bug #812202: randint is always evenRaymond Hettinger2003-10-051-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 Hettinger2003-09-061-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 testsRaymond Hettinger2003-08-301-19/+18
|
* SF bug #778964: bad seed in python 2.3 randomRaymond Hettinger2003-08-091-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 functionsRaymond Hettinger2003-08-051-49/+2
|
* SF bug #759889: Pickling of Random is brokenRaymond Hettinger2003-06-241-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 commentsTim Peters2003-06-191-1/+13
| | | | explaining what's wrong with the two simpler variants.
* randrange(): 2.3 can no longer raises OverflowError on an int() call, soTim Peters2003-06-191-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 documentedRaymond Hettinger2003-06-131-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 Hettinger2003-05-241-3/+3
|
* * Migrate sample distribution test from random.py to test_random.py.Raymond Hettinger2003-01-171-5/+0
| | | | * Use Sets module to more clearly articulate a couple of tests.
* Much clearer when super() is used.Raymond Hettinger2003-01-071-5/+5
|
* Move the statistical tests for four distributions into the unittest suite.Raymond Hettinger2003-01-051-3/+0
|
* Correct long standing bugs in the methods for random distributions.Raymond Hettinger2003-01-041-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 Hettinger2003-01-041-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 theRaymond Hettinger2002-12-291-225/+178
| | | | core generator for random.py.
* Clarify and speedup test.Raymond Hettinger2002-12-071-2/+3
|
* Improve comments. Clarify docs.Raymond Hettinger2002-11-181-15/+14
| | | | | Replace "type(0)" with "int". Replace "while 1" with "while True"
* Improved clarity and thoroughness of docstring.Raymond Hettinger2002-11-131-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 fixAndrew M. Kuchling2002-11-131-1/+1
|
* SF patch 629637: Add sample(population, k) method to the random module.Raymond Hettinger2002-11-121-2/+56
| | | | Used for random sampling without replacement.
* SF bug 594996: OverflowError in random.randrangeTim Peters2002-08-161-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 Hettinger2002-05-231-11/+11
|
* Deprecated Random.cunifvariate clearing bug 506647. Also, added docstrings.Raymond Hettinger2002-05-231-0/+81
|
* Whitespace normalization.Tim Peters2002-05-231-5/+5
|
* Use spaces, not tabs for indents.Guido van Rossum2002-05-141-4/+4
| | | | Raymond Hettinger, beware! This caused the Unix install to fail!
* Closes patch 529408 deprecating random.stdgamma().Raymond Hettinger2002-05-141-11/+35
|
* Closes SF bug 527139. Moved temp variables inside guard.Raymond Hettinger2002-05-131-7/+6
|
* random.gauss() uses a piece of hidden state used by nothing else,Tim Peters2002-05-051-1/+4
| | | | | | | | | | | and the .seed() and .whseed() methods failed to reset it. In other words, setting the seed didn't completely determine the sequence of results produced by random.gauss(). It does now. Programs repeatedly mixing calls to a seed method with calls to gauss() may see different results now. Bugfix candidate (random.gauss() has always been broken in this way), despite that it may change results.
* BDFL agreed with Tim: rehabilitate randint().Neal Norwitz2002-04-131-2/+0
|
* SF patch 483059: Avoid use of eval() in random.py, from Finn Bock.Tim Peters2001-11-251-6/+5
| | | | | | _verify(): Pass in the values of globals insted of eval()ing their names. The use of eval() was obscure and unnecessary, and the patch claimed random.py couldn't be used in Jython applets because of it.
* Whitespace normalization.Tim Peters2001-02-151-1/+1
|
* bunch more __all__ listsSkip Montanaro2001-02-151-0/+6
| | | | | | also modified check_all function to suppress all warnings since they aren't relevant to what this test is doing (allows quiet checking of regsub, for instance)
* Repaired a docstring.Tim Peters2001-02-011-1/+1
|
* Change random.seed() so that it can get at the full range of possibleTim Peters2001-02-011-37/+67
| | | | | | | | internal states. Put the old .seed() (which could only get at about the square root of the # of possibilities) under the new name .whseed(), for bit-level compatibility with older versions. This occurred to me while reviewing effbot's book (he found himself stumbling over .seed() more than once there ...).
* New comment block to Clarify a subtlety.Tim Peters2001-01-261-1/+5
|
* The combo of getstate/setstate/jumpahead is very powerful, but needsTim Peters2001-01-261-6/+45
| | | | examples to flesh it out for the uninitiated. Here they are.
* SF bug 130030: Claim of bad betavariate algorithm.Tim Peters2001-01-261-6/+19
|
* Cosmetic changes after some sleep; no change in semantics.Tim Peters2001-01-251-64/+82
|
* Fix bugs introduced by rewrite (in particular, time-based initializationTim Peters2001-01-251-4/+38
| | | | | | | got broken). Also added new method .jumpahead(N). This finally gives us a semi-decent answer to how Python's RNGs can be used safely and efficiently in multithreaded programs (although it requires the user to use the new machinery!).
* Reworked random.py so that it no longer depends on, and offers all theTim Peters2001-01-251-257/+413
| | | | | | | | | | | functionality of, whrandom.py. Also closes all the "XXX" todos in random.py. New frequently-requested functions/methods getstate() and setstate(). All exported functions are now bound methods of a hidden instance. Killed all unintended exports. Updated the docs. FRED: The more I fiddle the docs, the less I understand the exact intended use of the \var, \code, \method tags. Please review critically. GUIDO: See email. I updated NEWS as if whrandom were deprecated; I think it should be.
* Whitespace normalization.Tim Peters2001-01-151-219/+219
|
* Repair senseless random.seed docstring (reported on c.l.py).Tim Peters2000-09-161-1/+1
|
* The third and final doc-string sweep by Ka-Ping Yee.Guido van Rossum2000-02-041-20/+21
| | | | | | | | The attached patches update the standard library so that all modules have docstrings beginning with one-line summaries. A new docstring was added to formatter. The docstring for os.py was updated to mention nt, os2, ce in addition to posix, dos, mac.
* Add Tim Peters' shuffle() algorithm.Guido van Rossum1999-08-181-0/+21
|
* Added randrange to list of exported functions.Guido van Rossum1998-07-311-1/+1
|
* Make gauss() semi-thread-safe. It can still give duplicate results,Guido van Rossum1998-05-291-4/+14
| | | | | but it can no longer raise an exception when called by several threads simultaneously.