From 334614b7f7909be7062cd172c7d282b72cbe87da Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Tue, 12 Sep 2023 19:49:31 -0700 Subject: [PATCH] Added HnswFreeNeighbors function [skip ci] --- src/hnswutils.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/hnswutils.c b/src/hnswutils.c index a55dc67..989191a 100644 --- a/src/hnswutils.c +++ b/src/hnswutils.c @@ -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 */ @@ -175,9 +186,7 @@ void HnswFreeElement(HnswElement element) { list_free_deep(element->heaptids); - for (int lc = 0; lc <= element->level; lc++) - pfree(element->neighbors[lc].items); - pfree(element->neighbors); + HnswFreeNeighbors(element); pfree(element->vec); pfree(element); }