mirror of
https://github.com/pgvector/pgvector.git
synced 2026-07-10 22:56:55 +08:00
Condensed code [skip ci]
This commit is contained in:
@@ -222,17 +222,12 @@ void
|
|||||||
HnswInitNeighbors(char *base, HnswElement element, int m, HnswAllocator * allocator)
|
HnswInitNeighbors(char *base, HnswElement element, int m, HnswAllocator * allocator)
|
||||||
{
|
{
|
||||||
int level = element->level;
|
int level = element->level;
|
||||||
|
|
||||||
HnswNeighborArrayPtr *neighborList = (HnswNeighborArrayPtr *) HnswAlloc(allocator, sizeof(HnswNeighborArrayPtr) * (level + 1));
|
HnswNeighborArrayPtr *neighborList = (HnswNeighborArrayPtr *) HnswAlloc(allocator, sizeof(HnswNeighborArrayPtr) * (level + 1));
|
||||||
|
|
||||||
HnswPtrStore(base, element->neighbors, neighborList);
|
HnswPtrStore(base, element->neighbors, neighborList);
|
||||||
|
|
||||||
for (int lc = 0; lc <= level; lc++)
|
for (int lc = 0; lc <= level; lc++)
|
||||||
{
|
HnswPtrStore(base, neighborList[lc], HnswInitNeighborArray(HnswGetLayerM(m, lc), allocator));
|
||||||
int lm = HnswGetLayerM(m, lc);
|
|
||||||
|
|
||||||
HnswPtrStore(base, neighborList[lc], HnswInitNeighborArray(lm, allocator));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user