Open
Description
Hey Team,
Is the following test case correct?
func TestGraph_AddSearch(t *testing.T) {
t.Parallel()
g := newTestGraph[int]()
for i := 0; i < 128; i++ {
g.Add(
Node[int]{
Key: i,
Value: Vector{float32(i)},
},
)
}
al := Analyzer[int]{Graph: g}
// Layers should be approximately log2(128) = 7
// Look for an approximate doubling of the number of nodes in each layer.
require.Equal(t, []int{
128,
67,
28,
12,
6,
2,
1,
1,
}, al.Topography())
nearest := g.Search(
[]float32{64.5},
4,
)
require.Len(t, nearest, 4)
require.EqualValues(
t,
[]Node[int]{
{64, Vector{64}},
{65, Vector{65}},
{62, Vector{62}},
{63, Vector{63}},
},
nearest,
)
}
I think 66 is closer to 64.5 as compared to 62. Or am I missing something here?