结构体 faiss::RangeSearchBlockResultHandler

template<class C, bool use_sel = false>
struct RangeSearchBlockResultHandler : public faiss::BlockResultHandler<C, false>

公共类型

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

公共函数

inline RangeSearchBlockResultHandler(RangeSearchResult *res, float radius, const IDSelector *sel = nullptr)
inline virtual void begin_multiple(size_t i0_2, size_t i1_2)

开始

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

为查询 i0..i1 和 j0..j1 添加结果

inline ~RangeSearchBlockResultHandler()
inline virtual void add_results(size_t, size_t, const typename C::T*)
inline virtual void end_multiple()
inline bool is_in_selection(idx_t i) const

公共成员

RangeSearchResult *res
T radius
std::vector<RangeSearchPartialResult*> partial_results
std::vector<size_t> j0s
int pr = 0
size_t nq
const IDSelector *sel
size_t i0
size_t i1
struct SingleResultHandler : public faiss::ResultHandler<C>

公共函数

inline explicit SingleResultHandler(RangeSearchBlockResultHandler &rh)
inline void begin(size_t i)

开始查询 # i 的结果

inline virtual bool add_result(T dis, TI idx) final

为查询 i 添加一个结果

inline void end()

查询 i 的一系列结果已完成

inline ~SingleResultHandler()

公共成员

RangeSearchPartialResult pres
RangeQueryResult *qr = nullptr
C::T threshold = C::neutral()