diff options
author | Tor Egge <Tor.Egge@online.no> | 2022-11-09 11:26:41 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2022-11-09 11:26:41 +0100 |
commit | f904763559083a03a0f7db0f626434bea9752b3c (patch) | |
tree | ef3cc0a88bd6f4032eba8a2237aa8d614fd12688 | |
parent | 1039fece7c1241356704800be965a5812db8df10 (diff) |
Rename HnswNode to HnswTestNode.
-rw-r--r-- | searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp | 4 | ||||
-rw-r--r-- | searchlib/src/tests/tensor/hnsw_index/hnsw_index_test.cpp | 20 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp | 12 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/tensor/hnsw_index.h | 6 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/tensor/hnsw_test_node.h (renamed from searchlib/src/vespa/searchlib/tensor/hnsw_node.h) | 10 |
5 files changed, 26 insertions, 26 deletions
diff --git a/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp b/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp index 6fe5998a347..a500eecdfe2 100644 --- a/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp +++ b/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp @@ -49,7 +49,7 @@ using search::tensor::DirectTensorAttribute; using search::tensor::DistanceCalculator; using search::tensor::DocVectorAccess; using search::tensor::HnswIndex; -using search::tensor::HnswNode; +using search::tensor::HnswTestNode; using search::tensor::NearestNeighborIndex; using search::tensor::NearestNeighborIndexFactory; using search::tensor::NearestNeighborIndexLoader; @@ -852,7 +852,7 @@ TEST_F("Hnsw index is instantiated in dense tensor attribute when specified in c } void -expect_level_0(uint32_t exp_docid, const HnswNode& node) +expect_level_0(uint32_t exp_docid, const HnswTestNode& node) { ASSERT_GREATER_EQUAL(node.size(), 1u); ASSERT_EQUAL(1u, node.level(0).size()); diff --git a/searchlib/src/tests/tensor/hnsw_index/hnsw_index_test.cpp b/searchlib/src/tests/tensor/hnsw_index/hnsw_index_test.cpp index 7a32511ff26..26aa56aa27b 100644 --- a/searchlib/src/tests/tensor/hnsw_index/hnsw_index_test.cpp +++ b/searchlib/src/tests/tensor/hnsw_index/hnsw_index_test.cpp @@ -138,7 +138,7 @@ public: EXPECT_EQ(exp_nodeid, index->get_entry_nodeid()); EXPECT_EQ(exp_level, index->get_entry_level()); } - void expect_level_0(uint32_t nodeid, const HnswNode::LinkArray& exp_links) { + void expect_level_0(uint32_t nodeid, const HnswTestNode::LinkArray& exp_links) { auto node = index->get_node(nodeid); ASSERT_EQ(1, node.size()); EXPECT_EQ(exp_links, node.level(0)); @@ -147,7 +147,7 @@ public: auto node = index->get_node(nodeid); EXPECT_TRUE(node.empty()); } - void expect_levels(uint32_t nodeid, const HnswNode::LevelArray& exp_levels) { + void expect_levels(uint32_t nodeid, const HnswTestNode::LevelArray& exp_levels) { auto act_node = index->get_node(nodeid); ASSERT_EQ(exp_levels.size(), act_node.size()); EXPECT_EQ(exp_levels, act_node.levels()); @@ -413,11 +413,11 @@ TEST_F(HnswIndexTest, manual_insert) init(false); std::vector<uint32_t> nbl; - HnswNode empty{nbl}; + HnswTestNode empty{nbl}; index->set_node(1, empty); index->set_node(2, empty); - HnswNode three{{1,2}}; + HnswTestNode three{{1,2}}; index->set_node(3, three); expect_level_0(1, {3}); expect_level_0(2, {3}); @@ -425,13 +425,13 @@ TEST_F(HnswIndexTest, manual_insert) expect_entry_point(1, 0); - HnswNode twolevels{{{1},nbl}}; + HnswTestNode twolevels{{{1},nbl}}; index->set_node(4, twolevels); expect_entry_point(4, 1); expect_level_0(1, {3,4}); - HnswNode five{{{1,2}, {4}}}; + HnswTestNode five{{{1,2}, {4}}}; index->set_node(5, five); expect_levels(1, {{3,4,5}}); @@ -490,10 +490,10 @@ TEST_F(HnswIndexTest, shrink_called_simple) { init(false); std::vector<uint32_t> nbl; - HnswNode empty{nbl}; + HnswTestNode empty{nbl}; index->set_node(1, empty); nbl.push_back(1); - HnswNode nb1{nbl}; + HnswTestNode nb1{nbl}; index->set_node(2, nb1); index->set_node(3, nb1); index->set_node(4, nb1); @@ -530,10 +530,10 @@ TEST_F(HnswIndexTest, shrink_called_heuristic) { init(true); std::vector<uint32_t> nbl; - HnswNode empty{nbl}; + HnswTestNode empty{nbl}; index->set_node(1, empty); nbl.push_back(1); - HnswNode nb1{nbl}; + HnswTestNode nb1{nbl}; index->set_node(2, nb1); index->set_node(3, nb1); index->set_node(4, nb1); diff --git a/searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp b/searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp index e9ce77cc0d6..f1ad2a9b9b8 100644 --- a/searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp +++ b/searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp @@ -751,26 +751,26 @@ HnswIndex::top_k_candidates(const TypedCells &vector, uint32_t k, const GlobalFi return best_neighbors; } -HnswNode +HnswTestNode HnswIndex::get_node(uint32_t nodeid) const { auto node_ref = _graph.acquire_node_ref(nodeid); if (!node_ref.valid()) { - return HnswNode(); + return HnswTestNode(); } auto levels = _graph.nodes.get(node_ref); - HnswNode::LevelArray result; + HnswTestNode::LevelArray result; for (const auto& links_ref : levels) { auto links = _graph.links.get(links_ref.load_acquire()); - HnswNode::LinkArray result_links(links.begin(), links.end()); + HnswTestNode::LinkArray result_links(links.begin(), links.end()); std::sort(result_links.begin(), result_links.end()); result.push_back(result_links); } - return HnswNode(result); + return HnswTestNode(result); } void -HnswIndex::set_node(uint32_t nodeid, const HnswNode &node) +HnswIndex::set_node(uint32_t nodeid, const HnswTestNode &node) { size_t num_levels = node.size(); assert(num_levels > 0); diff --git a/searchlib/src/vespa/searchlib/tensor/hnsw_index.h b/searchlib/src/vespa/searchlib/tensor/hnsw_index.h index 2714464073e..04a1d60dffa 100644 --- a/searchlib/src/vespa/searchlib/tensor/hnsw_index.h +++ b/searchlib/src/vespa/searchlib/tensor/hnsw_index.h @@ -5,7 +5,7 @@ #include "distance_function.h" #include "doc_vector_access.h" #include "hnsw_index_utils.h" -#include "hnsw_node.h" +#include "hnsw_test_node.h" #include "nearest_neighbor_index.h" #include "random_level_generator.h" #include "hnsw_graph.h" @@ -223,8 +223,8 @@ public: int32_t get_entry_level() const { return _graph.get_entry_node().level; } // Should only be used by unit tests. - HnswNode get_node(uint32_t nodeid) const; - void set_node(uint32_t nodeid, const HnswNode &node); + HnswTestNode get_node(uint32_t nodeid) const; + void set_node(uint32_t nodeid, const HnswTestNode &node); bool check_link_symmetry() const; std::pair<uint32_t, bool> count_reachable_nodes() const; HnswGraph& get_graph() { return _graph; } diff --git a/searchlib/src/vespa/searchlib/tensor/hnsw_node.h b/searchlib/src/vespa/searchlib/tensor/hnsw_test_node.h index 3f551eb061f..498e5bcefea 100644 --- a/searchlib/src/vespa/searchlib/tensor/hnsw_node.h +++ b/searchlib/src/vespa/searchlib/tensor/hnsw_test_node.h @@ -10,7 +10,7 @@ namespace search::tensor { * Represents a snapshot of a graph node with all its levels and links. * Should only be used by unit tests. */ -class HnswNode { +class HnswTestNode { public: using LinkArray = std::vector<uint32_t>; using LevelArray = std::vector<LinkArray>; @@ -19,14 +19,14 @@ private: LevelArray _levels; public: - HnswNode() : _levels() {} - HnswNode(const LinkArray& level_0) : _levels() { _levels.push_back(level_0); } - HnswNode(const LevelArray& levels_in) : _levels(levels_in) {} + HnswTestNode() : _levels() {} + HnswTestNode(const LinkArray& level_0) : _levels() { _levels.push_back(level_0); } + HnswTestNode(const LevelArray& levels_in) : _levels(levels_in) {} bool empty() const { return _levels.empty(); } size_t size() const { return _levels.size(); } const LevelArray& levels() const { return _levels; } const LinkArray& level(size_t idx) const { return _levels[idx]; } - bool operator==(const HnswNode& rhs) { + bool operator==(const HnswTestNode& rhs) { return _levels == rhs._levels; } }; |