结构体 faiss::ReservoirBlockResultHandler

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

公共类型

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

公共函数

inline ReservoirBlockResultHandler(size_t nq, T *heap_dis_tab, TI *heap_ids_tab, size_t k, 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 virtual void end_multiple() final

查询 i0..i1 的一系列结果已完成

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

公共成员

T *heap_dis_tab
TI *heap_ids_tab
int64_t k
size_t capacity
std::vector<T> reservoir_dis
std::vector<TI> reservoir_ids
std::vector<ReservoirTopN<C>> reservoirs
size_t nq
查询数量
const IDSelector *sel
ID选择器。
size_t i0

公共类型

起始索引。
size_t i1

公共函数

结束索引。
struct SingleResultHandler : public faiss::ReservoirTopN<C>

单结果处理器结构体,继承自 ReservoirTopN。

using T = typename C::T

使用别名 `T` 表示结果值的类型。

using TI = typename C::TI
使用别名 `TI` 表示 ID 的类型。
inline explicit SingleResultHandler(ReservoirBlockResultHandler &hr)
SingleResultHandler 的构造函数,接受一个 ReservoirBlockResultHandler 的引用作为参数。
inline void begin(size_t qno_2)

公共成员

为查询 # i 开始结果处理。
inline void end()
查询 qno 的一系列结果已完成。
size_t qno
T *vals
TI *ids
size_t i
size_t n
size_t capacity
C::T threshold = C::neutral()