aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-11-09 11:26:41 +0100
committerTor Egge <Tor.Egge@online.no>2022-11-09 11:26:41 +0100
commitf904763559083a03a0f7db0f626434bea9752b3c (patch)
treeef3cc0a88bd6f4032eba8a2237aa8d614fd12688
parent1039fece7c1241356704800be965a5812db8df10 (diff)
Rename HnswNode to HnswTestNode.
-rw-r--r--searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp4
-rw-r--r--searchlib/src/tests/tensor/hnsw_index/hnsw_index_test.cpp20
-rw-r--r--searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp12
-rw-r--r--searchlib/src/vespa/searchlib/tensor/hnsw_index.h6
-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;
}
};