1
0
mirror of https://github.com/golang/go synced 2024-09-30 19:28:32 -06:00

all: calculate the median uniformly

This is a follow up of CL 526496.
This commit is contained in:
Jes Cok 2023-09-12 21:09:25 +08:00
parent 905b58b537
commit 4307adafbf
3 changed files with 3 additions and 3 deletions

View File

@ -55,7 +55,7 @@ func Lookup(name string) *Info {
lo := 0
hi := len(All)
for lo < hi {
m := lo + (hi-lo)>>1
m := int(uint(lo+hi) >> 1)
mid := All[m].Name
if name == mid {
return &All[m]

View File

@ -271,7 +271,7 @@ func (a *addrRanges) findSucc(addr uintptr) int {
const iterMax = 8
bot, top := 0, len(a.ranges)
for top-bot > iterMax {
i := ((top - bot) / 2) + bot
i := int(uint(bot+top) >> 1)
if a.ranges[i].contains(base.addr()) {
// a.ranges[i] contains base, so
// its successor is the next index.

View File

@ -37,7 +37,7 @@ func nametomib(name string) (mib []_C_int, err error) {
left := 0
right := len(sysctlMib) - 1
for {
idx := left + (right-left)/2
idx := int(uint(left+right) >> 1)
switch {
case name == sysctlMib[idx].ctlname:
return sysctlMib[idx].ctloid, nil