[Python-Dev] Unittests (original) (raw)
Tim Peters tim.one@comcast.net
Wed, 10 Apr 2002 18:05:46 -0400
- Previous message: [Python-Dev] Deprecating whrandom; and deprecating in general
- Next message: [Python-Dev] Unittests
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[MAL]
There's nothing bad in the .seed() method. You just have to pass it some sane values (rather than relying on the defaults).
I disagree on both counts. The defaults were fine, but the underlying seed method had severe limitations, as the docs for Random.whseed() explain. Being able to initialize to only one of ~224 distinct states means Birthday Paradox surprises only needed O(212) expected tries to surface, no matter how good the seed selection was.
The newer seed() method allows getting at every one of the possible (for this generator) ~2**45 internal states, and makes distinctness guarantees that are easy to understand and to exploit. The older seed method is preserved for bit-for-bit identical results in Random.whseed(), for those who really need it, but no newcomer who knows what they're doing would want to use it. Since most newcomers don't know what they're doing, it's important that the default method save them from the consequences of failing to make an informed analysis of the older seed algorithm.
- Previous message: [Python-Dev] Deprecating whrandom; and deprecating in general
- Next message: [Python-Dev] Unittests
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]