DRY code [skip ci]

This commit is contained in:
Andrew Kane
2023-07-30 21:00:00 -07:00
parent 9e115c629f
commit 95eded091f
4 changed files with 21 additions and 16 deletions

View File

@@ -602,6 +602,24 @@ HnswFreeElement(HnswElement element)
pfree(element);
}
/*
* Set element tuple, except for neighbor page
*/
void
HnswSetElementTuple(HnswElementTuple etup, HnswElement element)
{
for (int i = 0; i < HNSW_HEAPTIDS; i++)
{
if (i < list_length(element->heaptids))
etup->heaptids[i] = *((ItemPointer) list_nth(element->heaptids, i));
else
ItemPointerSetInvalid(&etup->heaptids[i]);
}
etup->level = element->level;
etup->deleted = 0;
memcpy(&etup->vec, element->vec, VECTOR_SIZE(element->vec->dim));
}
/*
* Get the distance for a candidate
*/