]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: be a lot more lenient on smhasher avalanche test.
authorKeith Randall <khr@golang.org>
Fri, 9 May 2014 22:50:57 +0000 (15:50 -0700)
committerKeith Randall <khr@golang.org>
Fri, 9 May 2014 22:50:57 +0000 (15:50 -0700)
Fixes #7943

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/98170043

src/pkg/runtime/hash_test.go

index 312c4be8e9de36c6984224661951c8e0a533644a..1c11e0538dabf61091b47a96c957fa29420e74e4 100644 (file)
@@ -397,10 +397,10 @@ func avalancheTest1(t *testing.T, k Key) {
        // all sums inside those bounds with 99% probability.
        N := n * hashSize
        var c float64
-       // find c such that Prob(mean-c*stddev < x < mean+c*stddev)^N > .99
-       for c = 0.0; math.Pow(math.Erf(c/math.Sqrt(2)), float64(N)) < .99; c += .1 {
+       // find c such that Prob(mean-c*stddev < x < mean+c*stddev)^N > .9999
+       for c = 0.0; math.Pow(math.Erf(c/math.Sqrt(2)), float64(N)) < .9999; c += .1 {
        }
-       c *= 2.0 // allowed slack - we don't need to be perfectly random
+       c *= 4.0 // allowed slack - we don't need to be perfectly random
        mean := .5 * REP
        stddev := .5 * math.Sqrt(REP)
        low := int(mean - c*stddev)