From e3b5ea9797c9efc179d48eadf866561eb9cdebd8 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 13 Dec 2017 16:34:10 +0100 Subject: prog: fix an unfortunate case of non-determinism We used the math/rand global prng in biasedRand historically. Fix that. --- prog/rand.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'prog') diff --git a/prog/rand.go b/prog/rand.go index 839c6d1c3..b99399c9d 100644 --- a/prog/rand.go +++ b/prog/rand.go @@ -103,7 +103,7 @@ func (r *randGen) randRangeInt(begin uint64, end uint64) uint64 { // probability of n-1 is k times higher than probability of 0. func (r *randGen) biasedRand(n, k int) int { nf, kf := float64(n), float64(k) - rf := nf * (kf/2 + 1) * rand.Float64() + rf := nf * (kf/2 + 1) * r.Float64() bf := (-1 + math.Sqrt(1+2*kf*rf/nf)) * nf / kf return int(bf) } -- cgit mrf-deployment