| Server IP : 157.230.181.24 / Your IP : 216.73.217.11 Web Server : Apache/2.4.58 (Ubuntu) System : Linux conductive 6.8.0-117-generic #117-Ubuntu SMP PREEMPT_DYNAMIC Tue May 5 19:26:24 UTC 2026 x86_64 User : ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/go/src/runtime/ |
Upload File : |
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package runtime_test
import (
"math"
"runtime"
"testing"
)
func TestFastLog2(t *testing.T) {
// Compute the euclidean distance between math.Log2 and the FastLog2
// implementation over the range of interest for heap sampling.
const randomBitCount = 26
var e float64
inc := 1
if testing.Short() {
// Check 1K total values, down from 64M.
inc = 1 << 16
}
for i := 1; i < 1<<randomBitCount; i += inc {
l, fl := math.Log2(float64(i)), runtime.Fastlog2(float64(i))
d := l - fl
e += d * d
}
e = math.Sqrt(e)
if e > 1.0 {
t.Fatalf("imprecision on fastlog2 implementation, want <=1.0, got %f", e)
}
}