Coverage Report

Created: 2026-03-19 20:25

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
contrib/faiss/faiss/impl/simd_result_handlers.h
Line
Count
Source
1
/*
2
 * Copyright (c) Meta Platforms, Inc. and affiliates.
3
 *
4
 * This source code is licensed under the MIT license found in the
5
 * LICENSE file in the root directory of this source tree.
6
 */
7
8
#pragma once
9
10
#include <algorithm>
11
#include <type_traits>
12
#include <vector>
13
14
#include <faiss/utils/Heap.h>
15
#include <faiss/utils/simdlib.h>
16
17
#include <faiss/impl/FaissAssert.h>
18
#include <faiss/impl/IDSelector.h>
19
#include <faiss/impl/ResultHandler.h>
20
#include <faiss/impl/platform_macros.h>
21
#include <faiss/utils/AlignedTable.h>
22
#include <faiss/utils/partitioning.h>
23
24
/** This file contains callbacks for kernels that compute distances.
25
 */
26
27
namespace faiss {
28
29
struct SIMDResultHandler {
30
    // used to dispatch templates
31
    bool is_CMax = false;
32
    uint8_t sizeof_ids = 0;
33
    bool with_fields = false;
34
35
    /**  called when 32 distances are computed and provided in two
36
     *   simd16uint16. (q, b) indicate which entry it is in the block. */
37
    virtual void handle(
38
            size_t q,
39
            size_t b,
40
            simd16uint16 d0,
41
            simd16uint16 d1) = 0;
42
43
    /// set the sub-matrix that is being computed
44
    virtual void set_block_origin(size_t i0, size_t j0) = 0;
45
46
0
    virtual ~SIMDResultHandler() {}
47
};
48
49
/* Result handler that will return float resutls eventually */
50
struct SIMDResultHandlerToFloat : SIMDResultHandler {
51
    size_t nq;     // number of queries
52
    size_t ntotal; // ignore excess elements after ntotal
53
54
    /// these fields are used mainly for the IVF variants (with_id_map=true)
55
    const idx_t* id_map = nullptr; // map offset in invlist to vector id
56
    const int* q_map = nullptr;    // map q to global query
57
    const uint16_t* dbias =
58
            nullptr; // table of biases to add to each query (for IVF L2 search)
59
    const float* normalizers = nullptr; // size 2 * nq, to convert
60
61
    SIMDResultHandlerToFloat(size_t nq, size_t ntotal)
62
0
            : nq(nq), ntotal(ntotal) {}
63
64
0
    virtual void begin(const float* norms) {
65
0
        normalizers = norms;
66
0
    }
67
68
    // called at end of search to convert int16 distances to float, before
69
    // normalizers are deallocated
70
0
    virtual void end() {
71
0
        normalizers = nullptr;
72
0
    }
73
};
74
75
FAISS_API extern bool simd_result_handlers_accept_virtual;
76
77
namespace simd_result_handlers {
78
79
/** Dummy structure that just computes a chqecksum on results
80
 * (to avoid the computation to be optimized away) */
81
struct DummyResultHandler : SIMDResultHandler {
82
    size_t cs = 0;
83
84
0
    void handle(size_t q, size_t b, simd16uint16 d0, simd16uint16 d1) final {
85
0
        cs += q * 123 + b * 789 + d0.get_scalar_0() + d1.get_scalar_0();
86
0
    }
87
88
0
    void set_block_origin(size_t, size_t) final {}
89
90
0
    ~DummyResultHandler() {}
91
};
92
93
/** memorize results in a nq-by-nb matrix.
94
 *
95
 * j0 is the current upper-left block of the matrix
96
 */
97
struct StoreResultHandler : SIMDResultHandler {
98
    uint16_t* data;
99
    size_t ld; // total number of columns
100
    size_t i0 = 0;
101
    size_t j0 = 0;
102
103
0
    StoreResultHandler(uint16_t* data, size_t ld) : data(data), ld(ld) {}
104
105
0
    void handle(size_t q, size_t b, simd16uint16 d0, simd16uint16 d1) final {
106
0
        size_t ofs = (q + i0) * ld + j0 + b * 32;
107
0
        d0.store(data + ofs);
108
0
        d1.store(data + ofs + 16);
109
0
    }
110
111
0
    void set_block_origin(size_t i0_in, size_t j0_in) final {
112
0
        this->i0 = i0_in;
113
0
        this->j0 = j0_in;
114
0
    }
115
};
116
117
/** stores results in fixed-size matrix. */
118
template <int NQ, int BB>
119
struct FixedStorageHandler : SIMDResultHandler {
120
    simd16uint16 dis[NQ][BB];
121
    int i0 = 0;
122
123
0
    void handle(size_t q, size_t b, simd16uint16 d0, simd16uint16 d1) final {
124
0
        dis[q + i0][2 * b] = d0;
125
0
        dis[q + i0][2 * b + 1] = d1;
126
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE6handleEmmNS_12simd16uint16ES3_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE6handleEmmNS_12simd16uint16ES3_
127
128
0
    void set_block_origin(size_t i0_in, size_t j0_in) final {
129
0
        this->i0 = i0_in;
130
0
        assert(j0_in == 0);
131
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16set_block_originEmm
132
133
    template <class OtherResultHandler>
134
0
    void to_other_handler(OtherResultHandler& other) const {
135
0
        for (int q = 0; q < NQ; q++) {
136
0
            for (int b = 0; b < BB; b += 2) {
137
0
                other.handle(q, b / 2, dis[q][b], dis[q][b + 1]);
138
0
            }
139
0
        }
140
0
    }
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_18StoreResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_18DummyResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS_17SIMDResultHandlerEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItiEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMaxItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb1EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_19SingleResultHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_11HeapHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
Unexecuted instantiation: _ZNK5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EE16to_other_handlerINS0_16ReservoirHandlerINS_4CMinItlEELb0EEEEEvRT_
141
142
0
    virtual ~FixedStorageHandler() {}
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi2EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi4EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi6EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi8EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi1ELi10EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi2EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi2ELi4EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi3ELi2EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi4ELi2EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi12ELi2EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi11ELi2EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi10ELi2EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi9ELi2EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi8ELi2EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi7ELi2EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi6ELi2EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19FixedStorageHandlerILi5ELi2EED2Ev
143
};
144
145
/** Result handler that compares distances to check if they need to be kept */
146
template <class C, bool with_id_map>
147
struct ResultHandlerCompare : SIMDResultHandlerToFloat {
148
    using TI = typename C::TI;
149
150
    bool disable = false;
151
152
    int64_t i0 = 0; // query origin
153
    int64_t j0 = 0; // db origin
154
155
    const IDSelector* sel;
156
157
    ResultHandlerCompare(size_t nq, size_t ntotal, const IDSelector* sel_in)
158
0
            : SIMDResultHandlerToFloat(nq, ntotal), sel{sel_in} {
159
0
        this->is_CMax = C::is_max;
160
0
        this->sizeof_ids = sizeof(typename C::TI);
161
0
        this->with_fields = with_id_map;
162
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItiEELb0EEC2EmmPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItiEELb0EEC2EmmPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItlEELb1EEC2EmmPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItlEELb1EEC2EmmPKNS_10IDSelectorE
163
164
0
    void set_block_origin(size_t i0_in, size_t j0_in) final {
165
0
        this->i0 = i0_in;
166
0
        this->j0 = j0_in;
167
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItiEELb0EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItiEELb0EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItlEELb1EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItlEELb1EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItiEELb1EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItiEELb1EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItlEELb0EE16set_block_originEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItlEELb0EE16set_block_originEmm
168
169
    // adjust handler data for IVF.
170
0
    void adjust_with_origin(size_t& q, simd16uint16& d0, simd16uint16& d1) {
171
0
        q += i0;
172
173
0
        if (dbias) {
174
0
            simd16uint16 dbias16(dbias[q]);
175
0
            d0 += dbias16;
176
0
            d1 += dbias16;
177
0
        }
178
179
0
        if (with_id_map) { // FIXME test on q_map instead
180
0
            q = q_map[q];
181
0
        }
182
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItiEELb0EE18adjust_with_originERmRNS_12simd16uint16ES7_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItiEELb0EE18adjust_with_originERmRNS_12simd16uint16ES7_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItlEELb1EE18adjust_with_originERmRNS_12simd16uint16ES7_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItlEELb1EE18adjust_with_originERmRNS_12simd16uint16ES7_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItiEELb1EE18adjust_with_originERmRNS_12simd16uint16ES7_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItiEELb1EE18adjust_with_originERmRNS_12simd16uint16ES7_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItlEELb0EE18adjust_with_originERmRNS_12simd16uint16ES7_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItlEELb0EE18adjust_with_originERmRNS_12simd16uint16ES7_
183
184
    // compute and adjust idx
185
0
    int64_t adjust_id(size_t b, size_t j) {
186
0
        int64_t idx = j0 + 32 * b + j;
187
0
        if (with_id_map) {
188
0
            idx = id_map[idx];
189
0
        }
190
0
        return idx;
191
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItiEELb0EE9adjust_idEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItiEELb0EE9adjust_idEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItlEELb1EE9adjust_idEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItlEELb1EE9adjust_idEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItiEELb1EE9adjust_idEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItiEELb1EE9adjust_idEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItlEELb0EE9adjust_idEmm
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItlEELb0EE9adjust_idEmm
192
193
    /// return binary mask of elements below thr in (d0, d1)
194
    /// inverse_test returns elements above
195
    uint32_t get_lt_mask(
196
            uint16_t thr,
197
            size_t b,
198
            simd16uint16 d0,
199
0
            simd16uint16 d1) {
200
0
        simd16uint16 thr16(thr);
201
0
        uint32_t lt_mask;
202
203
0
        constexpr bool keep_min = C::is_max;
204
0
        if (keep_min) {
205
0
            lt_mask = ~cmp_ge32(d0, d1, thr16);
206
0
        } else {
207
0
            lt_mask = ~cmp_le32(d0, d1, thr16);
208
0
        }
209
210
0
        if (lt_mask == 0) {
211
0
            return 0;
212
0
        }
213
0
        uint64_t idx = j0 + b * 32;
214
0
        if (idx + 32 > ntotal) {
215
0
            if (idx >= ntotal) {
216
0
                return 0;
217
0
            }
218
0
            int nbit = (ntotal - idx);
219
0
            lt_mask &= (uint32_t(1) << nbit) - 1;
220
0
        }
221
0
        return lt_mask;
222
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItiEELb0EE11get_lt_maskEtmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItiEELb0EE11get_lt_maskEtmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItlEELb1EE11get_lt_maskEtmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItlEELb1EE11get_lt_maskEtmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItiEELb1EE11get_lt_maskEtmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItiEELb1EE11get_lt_maskEtmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItlEELb0EE11get_lt_maskEtmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItlEELb0EE11get_lt_maskEtmNS_12simd16uint16ES5_
223
224
0
    virtual ~ResultHandlerCompare() {}
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItiEELb0EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItiEELb0EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMaxItlEELb1EED2Ev
Unexecuted instantiation: _ZN5faiss20simd_result_handlers20ResultHandlerCompareINS_4CMinItlEELb1EED2Ev
225
};
226
227
/** Special version for k=1 */
228
template <class C, bool with_id_map = false>
229
struct SingleResultHandler : ResultHandlerCompare<C, with_id_map> {
230
    using T = typename C::T;
231
    using TI = typename C::TI;
232
    using RHC = ResultHandlerCompare<C, with_id_map>;
233
    using RHC::normalizers;
234
235
    std::vector<int16_t> idis;
236
    float* dis;
237
    int64_t* ids;
238
239
    SingleResultHandler(
240
            size_t nq,
241
            size_t ntotal,
242
            float* dis,
243
            int64_t* ids,
244
            const IDSelector* sel_in)
245
0
            : RHC(nq, ntotal, sel_in), idis(nq), dis(dis), ids(ids) {
246
0
        for (size_t i = 0; i < nq; i++) {
247
0
            ids[i] = -1;
248
0
            idis[i] = C::neutral();
249
0
        }
250
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMaxItiEELb0EEC2EmmPfPlPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMinItiEELb0EEC2EmmPfPlPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMaxItlEELb1EEC2EmmPfPlPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMinItlEELb1EEC2EmmPfPlPKNS_10IDSelectorE
251
252
0
    void handle(size_t q, size_t b, simd16uint16 d0, simd16uint16 d1) final {
253
0
        if (this->disable) {
254
0
            return;
255
0
        }
256
257
0
        this->adjust_with_origin(q, d0, d1);
258
259
0
        uint32_t lt_mask = this->get_lt_mask(idis[q], b, d0, d1);
260
0
        if (!lt_mask) {
261
0
            return;
262
0
        }
263
264
0
        ALIGNED(32) uint16_t d32tab[32];
265
0
        d0.store(d32tab);
266
0
        d1.store(d32tab + 16);
267
268
0
        if (this->sel != nullptr) {
269
0
            while (lt_mask) {
270
                // find first non-zero
271
0
                int j = __builtin_ctz(lt_mask);
272
0
                auto real_idx = this->adjust_id(b, j);
273
0
                lt_mask -= 1 << j;
274
0
                if (this->sel->is_member(real_idx)) {
275
0
                    T d = d32tab[j];
276
0
                    if (C::cmp(idis[q], d)) {
277
0
                        idis[q] = d;
278
0
                        ids[q] = real_idx;
279
0
                    }
280
0
                }
281
0
            }
282
0
        } else {
283
0
            while (lt_mask) {
284
                // find first non-zero
285
0
                int j = __builtin_ctz(lt_mask);
286
0
                lt_mask -= 1 << j;
287
0
                T d = d32tab[j];
288
0
                if (C::cmp(idis[q], d)) {
289
0
                    idis[q] = d;
290
0
                    ids[q] = this->adjust_id(b, j);
291
0
                }
292
0
            }
293
0
        }
294
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMaxItiEELb0EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMinItiEELb0EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMaxItlEELb1EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMinItlEELb1EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMaxItiEELb1EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMinItiEELb1EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMaxItlEELb0EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMinItlEELb0EE6handleEmmNS_12simd16uint16ES5_
295
296
0
    void end() {
297
0
        for (size_t q = 0; q < this->nq; q++) {
298
0
            if (!normalizers) {
299
0
                dis[q] = idis[q];
300
0
            } else {
301
0
                float one_a = 1 / normalizers[2 * q];
302
0
                float b = normalizers[2 * q + 1];
303
0
                dis[q] = b + idis[q] * one_a;
304
0
            }
305
0
        }
306
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMaxItiEELb0EE3endEv
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMinItiEELb0EE3endEv
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMaxItlEELb1EE3endEv
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19SingleResultHandlerINS_4CMinItlEELb1EE3endEv
307
};
308
309
/** Structure that collects results in a min- or max-heap */
310
template <class C, bool with_id_map = false>
311
struct HeapHandler : ResultHandlerCompare<C, with_id_map> {
312
    using T = typename C::T;
313
    using TI = typename C::TI;
314
    using RHC = ResultHandlerCompare<C, with_id_map>;
315
    using RHC::normalizers;
316
317
    std::vector<uint16_t> idis;
318
    std::vector<TI> iids;
319
    float* dis;
320
    int64_t* ids;
321
322
    int64_t k; // number of results to keep
323
324
    HeapHandler(
325
            size_t nq,
326
            size_t ntotal,
327
            int64_t k,
328
            float* dis,
329
            int64_t* ids,
330
            const IDSelector* sel_in)
331
0
            : RHC(nq, ntotal, sel_in),
332
0
              idis(nq * k),
333
0
              iids(nq * k),
334
0
              dis(dis),
335
0
              ids(ids),
336
0
              k(k) {
337
0
        heap_heapify<C>(k * nq, idis.data(), iids.data());
338
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMaxItiEELb0EEC2EmmlPfPlPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMinItiEELb0EEC2EmmlPfPlPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMaxItlEELb1EEC2EmmlPfPlPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMinItlEELb1EEC2EmmlPfPlPKNS_10IDSelectorE
339
340
0
    void handle(size_t q, size_t b, simd16uint16 d0, simd16uint16 d1) final {
341
0
        if (this->disable) {
342
0
            return;
343
0
        }
344
345
0
        this->adjust_with_origin(q, d0, d1);
346
347
0
        T* heap_dis = idis.data() + q * k;
348
0
        TI* heap_ids = iids.data() + q * k;
349
350
0
        uint16_t cur_thresh =
351
0
                heap_dis[0] < 65536 ? (uint16_t)(heap_dis[0]) : 0xffff;
352
353
        // here we handle the reverse comparison case as well
354
0
        uint32_t lt_mask = this->get_lt_mask(cur_thresh, b, d0, d1);
355
356
0
        if (!lt_mask) {
357
0
            return;
358
0
        }
359
360
0
        ALIGNED(32) uint16_t d32tab[32];
361
0
        d0.store(d32tab);
362
0
        d1.store(d32tab + 16);
363
364
0
        if (this->sel != nullptr) {
365
0
            while (lt_mask) {
366
                // find first non-zero
367
0
                int j = __builtin_ctz(lt_mask);
368
0
                auto real_idx = this->adjust_id(b, j);
369
0
                lt_mask -= 1 << j;
370
0
                if (this->sel->is_member(real_idx)) {
371
0
                    T dis_2 = d32tab[j];
372
0
                    if (C::cmp(heap_dis[0], dis_2)) {
373
0
                        heap_replace_top<C>(
374
0
                                k, heap_dis, heap_ids, dis_2, real_idx);
375
0
                    }
376
0
                }
377
0
            }
378
0
        } else {
379
0
            while (lt_mask) {
380
                // find first non-zero
381
0
                int j = __builtin_ctz(lt_mask);
382
0
                lt_mask -= 1 << j;
383
0
                T dis_2 = d32tab[j];
384
0
                if (C::cmp(heap_dis[0], dis_2)) {
385
0
                    int64_t idx = this->adjust_id(b, j);
386
0
                    heap_replace_top<C>(k, heap_dis, heap_ids, dis_2, idx);
387
0
                }
388
0
            }
389
0
        }
390
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMaxItiEELb0EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMinItiEELb0EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMaxItlEELb1EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMinItlEELb1EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMaxItiEELb1EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMinItiEELb1EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMaxItlEELb0EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMinItlEELb0EE6handleEmmNS_12simd16uint16ES5_
391
392
0
    void end() override {
393
0
        for (size_t q = 0; q < this->nq; q++) {
394
0
            T* heap_dis_in = idis.data() + q * k;
395
0
            TI* heap_ids_in = iids.data() + q * k;
396
0
            heap_reorder<C>(k, heap_dis_in, heap_ids_in);
397
0
            float* heap_dis = dis + q * k;
398
0
            int64_t* heap_ids = ids + q * k;
399
400
0
            float one_a = 1.0, b = 0.0;
401
0
            if (normalizers) {
402
0
                one_a = 1 / normalizers[2 * q];
403
0
                b = normalizers[2 * q + 1];
404
0
            }
405
0
            for (int j = 0; j < k; j++) {
406
0
                heap_dis[j] = heap_dis_in[j] * one_a + b;
407
0
                heap_ids[j] = heap_ids_in[j];
408
0
            }
409
0
        }
410
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMaxItiEELb0EE3endEv
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMinItiEELb0EE3endEv
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMaxItlEELb1EE3endEv
Unexecuted instantiation: _ZN5faiss20simd_result_handlers11HeapHandlerINS_4CMinItlEELb1EE3endEv
411
};
412
413
/** Simple top-N implementation using a reservoir.
414
 *
415
 * Results are stored when they are below the threshold until the capacity is
416
 * reached. Then a partition sort is used to update the threshold. */
417
418
/** Handler built from several ReservoirTopN (one per query) */
419
template <class C, bool with_id_map = false>
420
struct ReservoirHandler : ResultHandlerCompare<C, with_id_map> {
421
    using T = typename C::T;
422
    using TI = typename C::TI;
423
    using RHC = ResultHandlerCompare<C, with_id_map>;
424
    using RHC::normalizers;
425
426
    size_t capacity; // rounded up to multiple of 16
427
428
    // where the final results will be written
429
    float* dis;
430
    int64_t* ids;
431
432
    std::vector<TI> all_ids;
433
    AlignedTable<T> all_vals;
434
    std::vector<ReservoirTopN<C>> reservoirs;
435
436
    ReservoirHandler(
437
            size_t nq,
438
            size_t ntotal,
439
            size_t k,
440
            size_t cap,
441
            float* dis,
442
            int64_t* ids,
443
            const IDSelector* sel_in)
444
0
            : RHC(nq, ntotal, sel_in),
445
0
              capacity((cap + 15) & ~15),
446
0
              dis(dis),
447
0
              ids(ids) {
448
0
        assert(capacity % 16 == 0);
449
0
        all_ids.resize(nq * capacity);
450
0
        all_vals.resize(nq * capacity);
451
0
        for (size_t q = 0; q < nq; q++) {
452
0
            reservoirs.emplace_back(
453
0
                    k,
454
0
                    capacity,
455
0
                    all_vals.get() + q * capacity,
456
0
                    all_ids.data() + q * capacity);
457
0
        }
458
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMaxItiEELb0EEC2EmmmmPfPlPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMinItiEELb0EEC2EmmmmPfPlPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMaxItlEELb1EEC2EmmmmPfPlPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMinItlEELb1EEC2EmmmmPfPlPKNS_10IDSelectorE
459
460
0
    void handle(size_t q, size_t b, simd16uint16 d0, simd16uint16 d1) final {
461
0
        if (this->disable) {
462
0
            return;
463
0
        }
464
0
        this->adjust_with_origin(q, d0, d1);
465
466
0
        ReservoirTopN<C>& res = reservoirs[q];
467
0
        uint32_t lt_mask = this->get_lt_mask(res.threshold, b, d0, d1);
468
469
0
        if (!lt_mask) {
470
0
            return;
471
0
        }
472
0
        ALIGNED(32) uint16_t d32tab[32];
473
0
        d0.store(d32tab);
474
0
        d1.store(d32tab + 16);
475
476
0
        if (this->sel != nullptr) {
477
0
            while (lt_mask) {
478
                // find first non-zero
479
0
                int j = __builtin_ctz(lt_mask);
480
0
                auto real_idx = this->adjust_id(b, j);
481
0
                lt_mask -= 1 << j;
482
0
                if (this->sel->is_member(real_idx)) {
483
0
                    T dis_2 = d32tab[j];
484
0
                    res.add(dis_2, real_idx);
485
0
                }
486
0
            }
487
0
        } else {
488
0
            while (lt_mask) {
489
                // find first non-zero
490
0
                int j = __builtin_ctz(lt_mask);
491
0
                lt_mask -= 1 << j;
492
0
                T dis_2 = d32tab[j];
493
0
                res.add(dis_2, this->adjust_id(b, j));
494
0
            }
495
0
        }
496
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMaxItiEELb0EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMinItiEELb0EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMaxItlEELb1EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMinItlEELb1EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMaxItiEELb1EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMinItiEELb1EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMaxItlEELb0EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMinItlEELb0EE6handleEmmNS_12simd16uint16ES5_
497
498
0
    void end() override {
499
0
        using Cf = typename std::conditional<
500
0
                C::is_max,
501
0
                CMax<float, int64_t>,
502
0
                CMin<float, int64_t>>::type;
503
504
0
        std::vector<int> perm(reservoirs[0].n);
505
0
        for (size_t q = 0; q < reservoirs.size(); q++) {
506
0
            ReservoirTopN<C>& res = reservoirs[q];
507
0
            size_t n = res.n;
508
509
0
            if (res.i > res.n) {
510
0
                res.shrink();
511
0
            }
512
0
            int64_t* heap_ids = ids + q * n;
513
0
            float* heap_dis = dis + q * n;
514
515
0
            float one_a = 1.0, b = 0.0;
516
0
            if (normalizers) {
517
0
                one_a = 1 / normalizers[2 * q];
518
0
                b = normalizers[2 * q + 1];
519
0
            }
520
0
            for (size_t i = 0; i < res.i; i++) {
521
0
                perm[i] = i;
522
0
            }
523
            // indirect sort of result arrays
524
0
            std::sort(perm.begin(), perm.begin() + res.i, [&res](int i, int j) {
525
0
                return C::cmp(res.vals[j], res.vals[i]);
526
0
            });
Unexecuted instantiation: _ZZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMaxItiEELb0EE3endEvENKUliiE_clEii
Unexecuted instantiation: _ZZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMinItiEELb0EE3endEvENKUliiE_clEii
Unexecuted instantiation: _ZZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMaxItlEELb1EE3endEvENKUliiE_clEii
Unexecuted instantiation: _ZZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMinItlEELb1EE3endEvENKUliiE_clEii
527
0
            for (size_t i = 0; i < res.i; i++) {
528
0
                heap_dis[i] = res.vals[perm[i]] * one_a + b;
529
0
                heap_ids[i] = res.ids[perm[i]];
530
0
            }
531
532
            // possibly add empty results
533
0
            heap_heapify<Cf>(n - res.i, heap_dis + res.i, heap_ids + res.i);
534
0
        }
535
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMaxItiEELb0EE3endEv
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMinItiEELb0EE3endEv
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMaxItlEELb1EE3endEv
Unexecuted instantiation: _ZN5faiss20simd_result_handlers16ReservoirHandlerINS_4CMinItlEELb1EE3endEv
536
};
537
538
/** Result handler for range search. The difficulty is that the range distances
539
 * have to be scaled using the scaler.
540
 */
541
542
template <class C, bool with_id_map = false>
543
struct RangeHandler : ResultHandlerCompare<C, with_id_map> {
544
    using T = typename C::T;
545
    using TI = typename C::TI;
546
    using RHC = ResultHandlerCompare<C, with_id_map>;
547
    using RHC::normalizers;
548
    using RHC::nq;
549
550
    RangeSearchResult& rres;
551
    float radius;
552
    std::vector<uint16_t> thresholds;
553
    std::vector<size_t> n_per_query;
554
    size_t q0 = 0;
555
556
    // we cannot use the RangeSearchPartialResult interface because queries can
557
    // be performed by batches
558
    struct Triplet {
559
        idx_t q;
560
        idx_t b;
561
        uint16_t dis;
562
    };
563
    std::vector<Triplet> triplets;
564
565
    RangeHandler(
566
            RangeSearchResult& rres,
567
            float radius,
568
            size_t ntotal,
569
            const IDSelector* sel_in)
570
0
            : RHC(rres.nq, ntotal, sel_in), rres(rres), radius(radius) {
571
0
        thresholds.resize(nq);
572
0
        n_per_query.resize(nq + 1);
573
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers12RangeHandlerINS_4CMaxItlEELb1EEC2ERNS_17RangeSearchResultEfmPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers12RangeHandlerINS_4CMinItlEELb1EEC2ERNS_17RangeSearchResultEfmPKNS_10IDSelectorE
574
575
0
    virtual void begin(const float* norms) override {
576
0
        normalizers = norms;
577
0
        for (int q = 0; q < nq; ++q) {
578
0
            thresholds[q] =
579
0
                    int(normalizers[2 * q] * (radius - normalizers[2 * q + 1]));
580
0
        }
581
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers12RangeHandlerINS_4CMaxItlEELb1EE5beginEPKf
Unexecuted instantiation: _ZN5faiss20simd_result_handlers12RangeHandlerINS_4CMinItlEELb1EE5beginEPKf
582
583
0
    void handle(size_t q, size_t b, simd16uint16 d0, simd16uint16 d1) final {
584
0
        if (this->disable) {
585
0
            return;
586
0
        }
587
0
        this->adjust_with_origin(q, d0, d1);
588
589
0
        uint32_t lt_mask = this->get_lt_mask(thresholds[q], b, d0, d1);
590
591
0
        if (!lt_mask) {
592
0
            return;
593
0
        }
594
0
        ALIGNED(32) uint16_t d32tab[32];
595
0
        d0.store(d32tab);
596
0
        d1.store(d32tab + 16);
597
598
0
        if (this->sel != nullptr) {
599
0
            while (lt_mask) {
600
                // find first non-zero
601
0
                int j = __builtin_ctz(lt_mask);
602
0
                lt_mask -= 1 << j;
603
604
0
                auto real_idx = this->adjust_id(b, j);
605
0
                if (this->sel->is_member(real_idx)) {
606
0
                    T dis = d32tab[j];
607
0
                    n_per_query[q]++;
608
0
                    triplets.push_back({idx_t(q + q0), real_idx, dis});
609
0
                }
610
0
            }
611
0
        } else {
612
0
            while (lt_mask) {
613
                // find first non-zero
614
0
                int j = __builtin_ctz(lt_mask);
615
0
                lt_mask -= 1 << j;
616
0
                T dis = d32tab[j];
617
0
                n_per_query[q]++;
618
0
                triplets.push_back({idx_t(q + q0), this->adjust_id(b, j), dis});
619
0
            }
620
0
        }
621
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers12RangeHandlerINS_4CMaxItlEELb1EE6handleEmmNS_12simd16uint16ES5_
Unexecuted instantiation: _ZN5faiss20simd_result_handlers12RangeHandlerINS_4CMinItlEELb1EE6handleEmmNS_12simd16uint16ES5_
622
623
0
    void end() override {
624
0
        memcpy(rres.lims, n_per_query.data(), sizeof(n_per_query[0]) * nq);
625
0
        rres.do_allocation();
626
0
        for (auto it = triplets.begin(); it != triplets.end(); ++it) {
627
0
            size_t& l = rres.lims[it->q];
628
0
            rres.distances[l] = it->dis;
629
0
            rres.labels[l] = it->b;
630
0
            l++;
631
0
        }
632
0
        memmove(rres.lims + 1, rres.lims, sizeof(*rres.lims) * rres.nq);
633
0
        rres.lims[0] = 0;
634
635
0
        for (int q = 0; q < nq; q++) {
636
0
            float one_a = 1 / normalizers[2 * q];
637
0
            float b = normalizers[2 * q + 1];
638
0
            for (size_t i = rres.lims[q]; i < rres.lims[q + 1]; i++) {
639
0
                rres.distances[i] = rres.distances[i] * one_a + b;
640
0
            }
641
0
        }
642
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers12RangeHandlerINS_4CMaxItlEELb1EE3endEv
Unexecuted instantiation: _ZN5faiss20simd_result_handlers12RangeHandlerINS_4CMinItlEELb1EE3endEv
643
};
644
645
#ifndef SWIG
646
647
// handler for a subset of queries
648
template <class C, bool with_id_map = false>
649
struct PartialRangeHandler : RangeHandler<C, with_id_map> {
650
    using T = typename C::T;
651
    using TI = typename C::TI;
652
    using RHC = RangeHandler<C, with_id_map>;
653
    using RHC::normalizers;
654
    using RHC::nq, RHC::q0, RHC::triplets, RHC::n_per_query;
655
656
    RangeSearchPartialResult& pres;
657
658
    PartialRangeHandler(
659
            RangeSearchPartialResult& pres,
660
            float radius,
661
            size_t ntotal,
662
            size_t q0,
663
            size_t q1,
664
            const IDSelector* sel_in)
665
0
            : RangeHandler<C, with_id_map>(*pres.res, radius, ntotal, sel_in),
666
0
              pres(pres) {
667
0
        nq = q1 - q0;
668
0
        this->q0 = q0;
669
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19PartialRangeHandlerINS_4CMaxItlEELb1EEC2ERNS_24RangeSearchPartialResultEfmmmPKNS_10IDSelectorE
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19PartialRangeHandlerINS_4CMinItlEELb1EEC2ERNS_24RangeSearchPartialResultEfmmmPKNS_10IDSelectorE
670
671
    // shift left n_per_query
672
0
    void shift_n_per_query() {
673
0
        memmove(n_per_query.data() + 1,
674
0
                n_per_query.data(),
675
0
                nq * sizeof(n_per_query[0]));
676
0
        n_per_query[0] = 0;
677
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19PartialRangeHandlerINS_4CMaxItlEELb1EE17shift_n_per_queryEv
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19PartialRangeHandlerINS_4CMinItlEELb1EE17shift_n_per_queryEv
678
679
    // commit to partial result instead of full RangeResult
680
0
    void end() override {
681
0
        std::vector<typename RHC::Triplet> sorted_triplets(triplets.size());
682
0
        for (int q = 0; q < nq; q++) {
683
0
            n_per_query[q + 1] += n_per_query[q];
684
0
        }
685
0
        shift_n_per_query();
686
687
0
        for (size_t i = 0; i < triplets.size(); i++) {
688
0
            sorted_triplets[n_per_query[triplets[i].q - q0]++] = triplets[i];
689
0
        }
690
0
        shift_n_per_query();
691
692
0
        size_t* lims = n_per_query.data();
693
694
0
        for (int q = 0; q < nq; q++) {
695
0
            float one_a = 1 / normalizers[2 * q];
696
0
            float b = normalizers[2 * q + 1];
697
0
            RangeQueryResult& qres = pres.new_result(q + q0);
698
0
            for (size_t i = lims[q]; i < lims[q + 1]; i++) {
699
0
                qres.add(
700
0
                        sorted_triplets[i].dis * one_a + b,
701
0
                        sorted_triplets[i].b);
702
0
            }
703
0
        }
704
0
    }
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19PartialRangeHandlerINS_4CMaxItlEELb1EE3endEv
Unexecuted instantiation: _ZN5faiss20simd_result_handlers19PartialRangeHandlerINS_4CMinItlEELb1EE3endEv
705
};
706
707
#endif
708
709
/********************************************************************************
710
 * Dynamic dispatching function. The consumer should have a templatized method f
711
 * that will be replaced with the actual SIMDResultHandler that is determined
712
 * dynamically.
713
 */
714
715
template <class C, bool W, class Consumer, class... Types>
716
void dispatch_SIMDResultHandler_fixedCW(
717
        SIMDResultHandler& res,
718
        Consumer& consumer,
719
0
        Types... args) {
720
0
    if (auto resh = dynamic_cast<SingleResultHandler<C, W>*>(&res)) {
721
0
        consumer.template f<SingleResultHandler<C, W>>(*resh, args...);
722
0
    } else if (auto resh_2 = dynamic_cast<HeapHandler<C, W>*>(&res)) {
723
0
        consumer.template f<HeapHandler<C, W>>(*resh_2, args...);
724
0
    } else if (auto resh_2 = dynamic_cast<ReservoirHandler<C, W>*>(&res)) {
725
0
        consumer.template f<ReservoirHandler<C, W>>(*resh_2, args...);
726
0
    } else { // generic handler -- will not be inlined
727
0
        FAISS_THROW_IF_NOT_FMT(
728
0
                simd_result_handlers_accept_virtual,
729
0
                "Running vitrual handler for %s",
730
0
                typeid(res).name());
731
0
        consumer.template f<SIMDResultHandler>(res, args...);
732
0
    }
733
0
}
Unexecuted instantiation: pq4_fast_scan_search_1.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMaxItiEELb1ENS_12_GLOBAL__N_123Run_pq4_accumulate_loopEJimiiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_1.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMaxItiEELb0ENS_12_GLOBAL__N_123Run_pq4_accumulate_loopEJimiiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_1.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMinItiEELb1ENS_12_GLOBAL__N_123Run_pq4_accumulate_loopEJimiiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_1.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMinItiEELb0ENS_12_GLOBAL__N_123Run_pq4_accumulate_loopEJimiiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_1.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMaxItlEELb1ENS_12_GLOBAL__N_123Run_pq4_accumulate_loopEJimiiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_1.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMaxItlEELb0ENS_12_GLOBAL__N_123Run_pq4_accumulate_loopEJimiiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_1.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMinItlEELb1ENS_12_GLOBAL__N_123Run_pq4_accumulate_loopEJimiiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_1.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMinItlEELb0ENS_12_GLOBAL__N_123Run_pq4_accumulate_loopEJimiiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_qbs.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMaxItiEELb1ENS_12_GLOBAL__N_127Run_pq4_accumulate_loop_qbsEJimiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_qbs.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMaxItiEELb0ENS_12_GLOBAL__N_127Run_pq4_accumulate_loop_qbsEJimiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_qbs.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMinItiEELb1ENS_12_GLOBAL__N_127Run_pq4_accumulate_loop_qbsEJimiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_qbs.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMinItiEELb0ENS_12_GLOBAL__N_127Run_pq4_accumulate_loop_qbsEJimiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_qbs.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMaxItlEELb1ENS_12_GLOBAL__N_127Run_pq4_accumulate_loop_qbsEJimiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_qbs.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMaxItlEELb0ENS_12_GLOBAL__N_127Run_pq4_accumulate_loop_qbsEJimiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_qbs.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMinItlEELb1ENS_12_GLOBAL__N_127Run_pq4_accumulate_loop_qbsEJimiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
Unexecuted instantiation: pq4_fast_scan_search_qbs.cpp:_ZN5faiss20simd_result_handlers34dispatch_SIMDResultHandler_fixedCWINS_4CMinItlEELb0ENS_12_GLOBAL__N_127Run_pq4_accumulate_loop_qbsEJimiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT1_DpT2_
734
735
template <class C, class Consumer, class... Types>
736
void dispatch_SIMDResultHandler_fixedC(
737
        SIMDResultHandler& res,
738
        Consumer& consumer,
739
0
        Types... args) {
740
0
    if (res.with_fields) {
741
0
        dispatch_SIMDResultHandler_fixedCW<C, true>(res, consumer, args...);
742
0
    } else {
743
0
        dispatch_SIMDResultHandler_fixedCW<C, false>(res, consumer, args...);
744
0
    }
745
0
}
Unexecuted instantiation: pq4_fast_scan_search_1.cpp:_ZN5faiss20simd_result_handlers33dispatch_SIMDResultHandler_fixedCINS_4CMaxItiEENS_12_GLOBAL__N_123Run_pq4_accumulate_loopEJimiiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT0_DpT1_
Unexecuted instantiation: pq4_fast_scan_search_1.cpp:_ZN5faiss20simd_result_handlers33dispatch_SIMDResultHandler_fixedCINS_4CMinItiEENS_12_GLOBAL__N_123Run_pq4_accumulate_loopEJimiiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT0_DpT1_
Unexecuted instantiation: pq4_fast_scan_search_1.cpp:_ZN5faiss20simd_result_handlers33dispatch_SIMDResultHandler_fixedCINS_4CMaxItlEENS_12_GLOBAL__N_123Run_pq4_accumulate_loopEJimiiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT0_DpT1_
Unexecuted instantiation: pq4_fast_scan_search_1.cpp:_ZN5faiss20simd_result_handlers33dispatch_SIMDResultHandler_fixedCINS_4CMinItlEENS_12_GLOBAL__N_123Run_pq4_accumulate_loopEJimiiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT0_DpT1_
Unexecuted instantiation: pq4_fast_scan_search_qbs.cpp:_ZN5faiss20simd_result_handlers33dispatch_SIMDResultHandler_fixedCINS_4CMaxItiEENS_12_GLOBAL__N_127Run_pq4_accumulate_loop_qbsEJimiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT0_DpT1_
Unexecuted instantiation: pq4_fast_scan_search_qbs.cpp:_ZN5faiss20simd_result_handlers33dispatch_SIMDResultHandler_fixedCINS_4CMinItiEENS_12_GLOBAL__N_127Run_pq4_accumulate_loop_qbsEJimiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT0_DpT1_
Unexecuted instantiation: pq4_fast_scan_search_qbs.cpp:_ZN5faiss20simd_result_handlers33dispatch_SIMDResultHandler_fixedCINS_4CMaxItlEENS_12_GLOBAL__N_127Run_pq4_accumulate_loop_qbsEJimiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT0_DpT1_
Unexecuted instantiation: pq4_fast_scan_search_qbs.cpp:_ZN5faiss20simd_result_handlers33dispatch_SIMDResultHandler_fixedCINS_4CMinItlEENS_12_GLOBAL__N_127Run_pq4_accumulate_loop_qbsEJimiPKhS7_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT0_DpT1_
746
747
template <class Consumer, class... Types>
748
void dispatch_SIMDResultHandler(
749
        SIMDResultHandler& res,
750
        Consumer& consumer,
751
0
        Types... args) {
752
0
    if (res.sizeof_ids == 0) {
753
0
        if (auto resh = dynamic_cast<StoreResultHandler*>(&res)) {
754
0
            consumer.template f<StoreResultHandler>(*resh, args...);
755
0
        } else if (auto resh_2 = dynamic_cast<DummyResultHandler*>(&res)) {
756
0
            consumer.template f<DummyResultHandler>(*resh_2, args...);
757
0
        } else { // generic path
758
0
            FAISS_THROW_IF_NOT_FMT(
759
0
                    simd_result_handlers_accept_virtual,
760
0
                    "Running vitrual handler for %s",
761
0
                    typeid(res).name());
762
0
            consumer.template f<SIMDResultHandler>(res, args...);
763
0
        }
764
0
    } else if (res.sizeof_ids == sizeof(int)) {
765
0
        if (res.is_CMax) {
766
0
            dispatch_SIMDResultHandler_fixedC<CMax<uint16_t, int>>(
767
0
                    res, consumer, args...);
768
0
        } else {
769
0
            dispatch_SIMDResultHandler_fixedC<CMin<uint16_t, int>>(
770
0
                    res, consumer, args...);
771
0
        }
772
0
    } else if (res.sizeof_ids == sizeof(int64_t)) {
773
0
        if (res.is_CMax) {
774
0
            dispatch_SIMDResultHandler_fixedC<CMax<uint16_t, int64_t>>(
775
0
                    res, consumer, args...);
776
0
        } else {
777
0
            dispatch_SIMDResultHandler_fixedC<CMin<uint16_t, int64_t>>(
778
0
                    res, consumer, args...);
779
0
        }
780
0
    } else {
781
0
        FAISS_THROW_FMT("Unknown id size %d", res.sizeof_ids);
782
0
    }
783
0
}
Unexecuted instantiation: pq4_fast_scan_search_1.cpp:_ZN5faiss20simd_result_handlers26dispatch_SIMDResultHandlerINS_12_GLOBAL__N_123Run_pq4_accumulate_loopEJimiiPKhS5_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT_DpT0_
Unexecuted instantiation: pq4_fast_scan_search_qbs.cpp:_ZN5faiss20simd_result_handlers26dispatch_SIMDResultHandlerINS_12_GLOBAL__N_127Run_pq4_accumulate_loop_qbsEJimiPKhS5_PKNS_15NormTableScalerEEEEvRNS_17SIMDResultHandlerERT_DpT0_
784
785
} // namespace simd_result_handlers
786
787
} // namespace faiss