Struct faiss::SingleBestResultHandler

template<class C>
struct SingleBestResultHandler

Public Types

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

Public Functions

inline SingleBestResultHandler(size_t nq, T *dis_tab, TI *ids_tab)
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 add_result(const size_t i, const T dis, const TI idx)
inline void end_multiple()

series of results for queries i0..i1 is done

Public Members

int nq
T *dis_tab
TI *ids_tab
size_t i0
size_t i1
struct SingleResultHandler

Public Functions

inline SingleResultHandler(SingleBestResultHandler &hr)
inline void begin(const size_t current_idx)

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

SingleBestResultHandler &hr
T min_dis
TI min_idx
size_t current_idx = 0