]> Cypherpunks repositories - gostls13.git/commit
undo CL 6845121 / 79603a5e4cda
authorRuss Cox <rsc@golang.org>
Fri, 7 Dec 2012 16:58:44 +0000 (11:58 -0500)
committerBrad Fitzpatrick <bradfitz@golang.org>
Fri, 7 Dec 2012 16:58:44 +0000 (11:58 -0500)
commitff2534e076a01445f5852f0fab7a3017ee65c8ba
tree31abf934c0b2646a68924650c238de98c7205e4e
parent9088d17afb9fffd292cc94a40b78d8fa14eefabd
undo CL 6845121 / 79603a5e4cda

This changes the output of

rand.Seed(0)
perm := rand.Perm(100)

When giving the same seeds to Go 1.0 and Go 1.1 programs
I would like them to generate the same random numbers.

««« original CL description
math/rand: remove noop iteration in Perm

The first iteration always do `m[0], m[0] = m[0], m[0]`, because
`rand.Intn(1)` is 0.

fun note: IIRC in TAOCP version of this algorithm, `i` goes
backward (n-1->1), meaning that the "already" shuffled part of the
array is never altered betweens iterations, while in the current
implementation the "not-yet" shuffled part of the array is
conserved between iterations.

R=golang-dev
CC=golang-dev
https://golang.org/cl/6845121

»»»

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6905049
src/pkg/math/rand/rand.go