Added HnswFreeNeighbors function [skip ci]

This commit is contained in:
Andrew Kane
2023-09-12 19:49:31 -07:00
parent 643eacd9dc
commit 334614b7f7

View File

@@ -143,6 +143,17 @@ HnswInitNeighbors(HnswElement element, int m)
} }
} }
/*
* Free neighbors
*/
static void
HnswFreeNeighbors(HnswElement element)
{
for (int lc = 0; lc <= element->level; lc++)
pfree(element->neighbors[lc].items);
pfree(element->neighbors);
}
/* /*
* Allocate an element * Allocate an element
*/ */
@@ -175,9 +186,7 @@ void
HnswFreeElement(HnswElement element) HnswFreeElement(HnswElement element)
{ {
list_free_deep(element->heaptids); list_free_deep(element->heaptids);
for (int lc = 0; lc <= element->level; lc++) HnswFreeNeighbors(element);
pfree(element->neighbors[lc].items);
pfree(element->neighbors);
pfree(element->vec); pfree(element->vec);
pfree(element); pfree(element);
} }