summaryrefslogtreecommitdiffstats
path: root/eval
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2021-02-25 21:04:26 +0000
committerArne Juul <arnej@verizonmedia.com>2021-02-26 14:11:47 +0000
commita63198a370bb0c43bfa9381ccfb6d5c0c22ee357 (patch)
tree9ef11907e2b0ad6d91dbb3d8a2862d9257f581f3 /eval
parenta9166a5fb0dc827e5254b8b63bbae145e8ece2f5 (diff)
change create_view API to take ConstArrayRef argument
Diffstat (limited to 'eval')
-rw-r--r--eval/src/tests/eval/simple_value/simple_value_test.cpp3
-rw-r--r--eval/src/tests/streamed/value/streamed_value_test.cpp3
-rw-r--r--eval/src/vespa/eval/eval/fast_value.cpp2
-rw-r--r--eval/src/vespa/eval/eval/fast_value.hpp8
-rw-r--r--eval/src/vespa/eval/eval/simple_value.cpp7
-rw-r--r--eval/src/vespa/eval/eval/simple_value.h2
-rw-r--r--eval/src/vespa/eval/eval/value.cpp2
-rw-r--r--eval/src/vespa/eval/eval/value.h4
-rw-r--r--eval/src/vespa/eval/streamed/streamed_value_index.cpp6
-rw-r--r--eval/src/vespa/eval/streamed/streamed_value_index.h2
10 files changed, 21 insertions, 18 deletions
diff --git a/eval/src/tests/eval/simple_value/simple_value_test.cpp b/eval/src/tests/eval/simple_value/simple_value_test.cpp
index f7bda441bfd..1f0df71d306 100644
--- a/eval/src/tests/eval/simple_value/simple_value_test.cpp
+++ b/eval/src/tests/eval/simple_value/simple_value_test.cpp
@@ -108,7 +108,8 @@ TEST(SimpleValueTest, simple_value_can_be_built_and_inspected) {
}
std::unique_ptr<Value> value = builder->build(std::move(builder));
EXPECT_EQ(value->index().size(), 6);
- auto view = value->index().create_view({0});
+ std::vector<size_t> view_dims = { 0 };
+ auto view = value->index().create_view(view_dims);
Handle query_handle("b");
string_id query = query_handle.id();
string_id label;
diff --git a/eval/src/tests/streamed/value/streamed_value_test.cpp b/eval/src/tests/streamed/value/streamed_value_test.cpp
index 965970e47e3..44c30d226bd 100644
--- a/eval/src/tests/streamed/value/streamed_value_test.cpp
+++ b/eval/src/tests/streamed/value/streamed_value_test.cpp
@@ -108,7 +108,8 @@ TEST(StreamedValueTest, streamed_value_can_be_built_and_inspected) {
}
std::unique_ptr<Value> value = builder->build(std::move(builder));
EXPECT_EQ(value->index().size(), 6);
- auto view = value->index().create_view({0});
+ std::vector<size_t> view_dims = { 0 };
+ auto view = value->index().create_view(view_dims);
Handle query_handle("b");
string_id query = query_handle.id();
string_id label;
diff --git a/eval/src/vespa/eval/eval/fast_value.cpp b/eval/src/vespa/eval/eval/fast_value.cpp
index 96d0fa84149..4b39fc48d9b 100644
--- a/eval/src/vespa/eval/eval/fast_value.cpp
+++ b/eval/src/vespa/eval/eval/fast_value.cpp
@@ -30,7 +30,7 @@ struct CreateFastValueBuilderBase {
//-----------------------------------------------------------------------------
std::unique_ptr<Value::Index::View>
-FastValueIndex::create_view(const std::vector<size_t> &dims) const
+FastValueIndex::create_view(ConstArrayRef<size_t> dims) const
{
if (map.addr_size() == 0) {
return TrivialIndex::get().create_view(dims);
diff --git a/eval/src/vespa/eval/eval/fast_value.hpp b/eval/src/vespa/eval/eval/fast_value.hpp
index 33624fb920e..69a496e9bff 100644
--- a/eval/src/vespa/eval/eval/fast_value.hpp
+++ b/eval/src/vespa/eval/eval/fast_value.hpp
@@ -59,9 +59,9 @@ struct FastFilterView : public Value::Index::View {
return true;
}
- FastFilterView(const FastAddrMap &map_in, const std::vector<size_t> &match_dims_in)
- : map(map_in), match_dims(match_dims_in),
- extract_dims(), query(match_dims.size()), pos(FastAddrMap::npos())
+ FastFilterView(const FastAddrMap &map_in, ConstArrayRef<size_t> match_dims_in)
+ : map(map_in), match_dims(match_dims_in.begin(), match_dims_in.end()),
+ extract_dims(), query(match_dims.size()), pos(FastAddrMap::npos())
{
auto my_pos = match_dims.begin();
for (size_t i = 0; i < map.addr_size(); ++i) {
@@ -142,7 +142,7 @@ struct FastValueIndex final : Value::Index {
FastValueIndex(size_t num_mapped_dims_in, const std::vector<string_id> &labels, size_t expected_subspaces_in)
: map(num_mapped_dims_in, labels, expected_subspaces_in) {}
size_t size() const override { return map.size(); }
- std::unique_ptr<View> create_view(const std::vector<size_t> &dims) const override;
+ std::unique_ptr<View> create_view(ConstArrayRef<size_t> dims) const override;
};
inline bool is_fast(const Value::Index &index) {
diff --git a/eval/src/vespa/eval/eval/simple_value.cpp b/eval/src/vespa/eval/eval/simple_value.cpp
index 313c4f3008d..c44ca320470 100644
--- a/eval/src/vespa/eval/eval/simple_value.cpp
+++ b/eval/src/vespa/eval/eval/simple_value.cpp
@@ -83,8 +83,9 @@ struct SimpleFilterView : public Value::Index::View {
return true;
}
- SimpleFilterView(const Map &map_in, const std::vector<size_t> &match_dims_in, size_t num_dims)
- : map(map_in), match_dims(match_dims_in), extract_dims(), query(match_dims.size()), pos(map.end())
+ SimpleFilterView(const Map &map_in, ConstArrayRef<size_t> match_dims_in, size_t num_dims)
+ : map(map_in), match_dims(match_dims_in.begin(), match_dims_in.end()),
+ extract_dims(), query(match_dims.size()), pos(map.end())
{
auto my_pos = match_dims.begin();
for (size_t i = 0; i < num_dims; ++i) {
@@ -208,7 +209,7 @@ SimpleValue::estimate_extra_memory_usage() const
}
std::unique_ptr<Value::Index::View>
-SimpleValue::create_view(const std::vector<size_t> &dims) const
+SimpleValue::create_view(ConstArrayRef<size_t> dims) const
{
if (dims.empty()) {
return std::make_unique<SimpleIterateView>(_index);
diff --git a/eval/src/vespa/eval/eval/simple_value.h b/eval/src/vespa/eval/eval/simple_value.h
index 6f5ccd30041..a43f51f6e13 100644
--- a/eval/src/vespa/eval/eval/simple_value.h
+++ b/eval/src/vespa/eval/eval/simple_value.h
@@ -45,7 +45,7 @@ public:
const ValueType &type() const override { return _type; }
const Value::Index &index() const override { return *this; }
size_t size() const override { return _index.size(); }
- std::unique_ptr<View> create_view(const std::vector<size_t> &dims) const override;
+ std::unique_ptr<View> create_view(ConstArrayRef<size_t> dims) const override;
static Value::UP from_spec(const TensorSpec &spec);
static Value::UP from_value(const Value &value);
static Value::UP from_stream(nbostream &stream);
diff --git a/eval/src/vespa/eval/eval/value.cpp b/eval/src/vespa/eval/eval/value.cpp
index bfa77d1a604..9cd5ef45765 100644
--- a/eval/src/vespa/eval/eval/value.cpp
+++ b/eval/src/vespa/eval/eval/value.cpp
@@ -47,7 +47,7 @@ TrivialIndex::size() const
}
std::unique_ptr<Value::Index::View>
-TrivialIndex::create_view(const std::vector<size_t> &) const
+TrivialIndex::create_view(ConstArrayRef<size_t>) const
{
return std::make_unique<TrivialView>();
}
diff --git a/eval/src/vespa/eval/eval/value.h b/eval/src/vespa/eval/eval/value.h
index 88b394add9c..ee850cdd47e 100644
--- a/eval/src/vespa/eval/eval/value.h
+++ b/eval/src/vespa/eval/eval/value.h
@@ -53,7 +53,7 @@ struct Value {
// create a view able to look up dense subspaces based on
// labels from a subset of the mapped dimensions.
- virtual std::unique_ptr<View> create_view(const std::vector<size_t> &dims) const = 0;
+ virtual std::unique_ptr<View> create_view(ConstArrayRef<size_t> dims) const = 0;
virtual ~Index() {}
};
@@ -81,7 +81,7 @@ private:
public:
static const TrivialIndex &get() { return _index; }
size_t size() const override;
- std::unique_ptr<View> create_view(const std::vector<size_t> &dims) const override;
+ std::unique_ptr<View> create_view(ConstArrayRef<size_t> dims) const override;
};
template <typename T>
diff --git a/eval/src/vespa/eval/streamed/streamed_value_index.cpp b/eval/src/vespa/eval/streamed/streamed_value_index.cpp
index d47f0138522..57845911026 100644
--- a/eval/src/vespa/eval/streamed/streamed_value_index.cpp
+++ b/eval/src/vespa/eval/streamed/streamed_value_index.cpp
@@ -20,9 +20,9 @@ struct StreamedFilterView : Value::Index::View
std::vector<size_t> view_dims;
std::vector<string_id> to_match;
- StreamedFilterView(LabelBlockStream labels, std::vector<size_t> view_dims_in)
+ StreamedFilterView(LabelBlockStream labels, ConstArrayRef<size_t> view_dims_in)
: label_blocks(std::move(labels)),
- view_dims(std::move(view_dims_in)),
+ view_dims(view_dims_in.begin(), view_dims_in.end()),
to_match()
{
to_match.reserve(view_dims.size());
@@ -88,7 +88,7 @@ struct StreamedIterationView : Value::Index::View
} // namespace <unnamed>
std::unique_ptr<Value::Index::View>
-StreamedValueIndex::create_view(const std::vector<size_t> &dims) const
+StreamedValueIndex::create_view(ConstArrayRef<size_t> dims) const
{
LabelBlockStream label_stream(_num_subspaces, _labels_ref, _num_mapped_dims);
if (dims.empty()) {
diff --git a/eval/src/vespa/eval/streamed/streamed_value_index.h b/eval/src/vespa/eval/streamed/streamed_value_index.h
index e94462c89f4..8bbe388df77 100644
--- a/eval/src/vespa/eval/streamed/streamed_value_index.h
+++ b/eval/src/vespa/eval/streamed/streamed_value_index.h
@@ -27,7 +27,7 @@ public:
// index API:
size_t size() const override { return _num_subspaces; }
- std::unique_ptr<View> create_view(const std::vector<size_t> &dims) const override;
+ std::unique_ptr<View> create_view(ConstArrayRef<size_t> dims) const override;
};
} // namespace