Struct faiss::HeapResultHandler

template<class C>
struct HeapResultHandler

Public Types

using T = typename C::T
using TI = typename C::TI

Public Functions

inline HeapResultHandler(size_t nq, T *heap_dis_tab, TI *heap_ids_tab, size_t k)
inline void begin_multiple(size_t i0, size_t i1)

begin

inline void add_results(size_t j0, size_t j1, const T *dis_tab)

add results for query i0..i1 and j0..j1

inline void end_multiple()

series of results for queries i0..i1 is done

Public Members

int nq
T *heap_dis_tab
TI *heap_ids_tab
int64_t k
size_t i0
size_t i1
struct SingleResultHandler

Public Functions

inline SingleResultHandler(HeapResultHandler &hr)
inline void begin(size_t i)

begin results for query # i

inline void add_result(T dis, TI idx)

add one result for query i

inline void end()

series of results for query i is done

Public Members

HeapResultHandler &hr
size_t k
T *heap_dis
TI *heap_ids
T thresh