1194 lines
16 KiB
Go
1194 lines
16 KiB
Go
package lmdb
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestQuickselect(t *testing.T) {
|
|
{
|
|
its := iterators{
|
|
{last: 781},
|
|
{last: 900},
|
|
{last: 1},
|
|
{last: 81},
|
|
{last: 325},
|
|
{last: 781},
|
|
{last: 562},
|
|
{last: 81},
|
|
{last: 444},
|
|
}
|
|
|
|
its.quickselect(3)
|
|
require.ElementsMatch(t,
|
|
[]uint32{its[0].last, its[1].last, its[2].last},
|
|
[]uint32{900, 781, 781},
|
|
)
|
|
}
|
|
|
|
{
|
|
its := iterators{
|
|
{last: 781},
|
|
{last: 781},
|
|
{last: 900},
|
|
{last: 1},
|
|
{last: 87},
|
|
{last: 315},
|
|
{last: 789},
|
|
{last: 500},
|
|
{last: 812},
|
|
{last: 306},
|
|
{last: 612},
|
|
{last: 444},
|
|
{last: 59},
|
|
{last: 441},
|
|
{last: 901},
|
|
{last: 901},
|
|
{last: 2},
|
|
{last: 81},
|
|
{last: 325},
|
|
{last: 781},
|
|
{last: 562},
|
|
{last: 81},
|
|
{last: 326},
|
|
{last: 662},
|
|
{last: 444},
|
|
{last: 81},
|
|
{last: 444},
|
|
}
|
|
|
|
its.quickselect(6)
|
|
require.ElementsMatch(t,
|
|
[]uint32{its[0].last, its[1].last, its[2].last, its[3].last, its[4].last, its[5].last},
|
|
[]uint32{901, 900, 901, 781, 812, 789},
|
|
)
|
|
}
|
|
|
|
{
|
|
its := iterators{
|
|
{last: 229},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 85},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 121},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 157},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 193},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 329},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 185},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 221},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 257},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 293},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 429},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 285},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 321},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 357},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 393},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 529},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 385},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 421},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 457},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 493},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 629},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 485},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 521},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 557},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 593},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 729},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 585},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 621},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 657},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 693},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
{last: 0},
|
|
}
|
|
|
|
its.quickselect(18)
|
|
require.ElementsMatch(t,
|
|
[]uint32{
|
|
its[0].last, its[1].last, its[2].last, its[3].last, its[4].last, its[5].last,
|
|
its[6].last, its[7].last, its[8].last, its[9].last, its[10].last, its[11].last,
|
|
its[12].last, its[13].last, its[14].last, its[15].last, its[16].last, its[17].last,
|
|
},
|
|
[]uint32{
|
|
729,
|
|
693,
|
|
657,
|
|
629,
|
|
621,
|
|
593,
|
|
585,
|
|
557,
|
|
529,
|
|
521,
|
|
493,
|
|
485,
|
|
457,
|
|
429,
|
|
421,
|
|
393,
|
|
385,
|
|
357,
|
|
},
|
|
)
|
|
}
|
|
}
|