diff options
author | Arne Juul <arnej@verizonmedia.com> | 2020-12-10 09:21:53 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2020-12-10 09:21:53 +0000 |
commit | 08e5ee0f980a25f88489586bf3b6f445f9723597 (patch) | |
tree | 50b025edb343f44782cf29468c8eb565bef2234e /searchlib | |
parent | 2050d83063418bca2c04f73918c7548dbaddb5ed (diff) |
move class to the only place it is used
Diffstat (limited to 'searchlib')
6 files changed, 45 insertions, 3 deletions
diff --git a/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp b/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp index 3385ac5a6bc..b5d4fb3130f 100644 --- a/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp +++ b/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp @@ -8,7 +8,6 @@ LOG_SETUP("dense_tensor_store_test"); #include <vespa/eval/eval/value.h> #include <vespa/eval/eval/value_type.h> #include <vespa/eval/eval/test/value_compare.h> -#include <vespa/eval/tensor/dense/mutable_dense_tensor_view.h> using search::tensor::DenseTensorStore; using vespalib::eval::SimpleValue; diff --git a/searchlib/src/vespa/searchlib/features/CMakeLists.txt b/searchlib/src/vespa/searchlib/features/CMakeLists.txt index 7bb4849bb87..aff5e91703b 100644 --- a/searchlib/src/vespa/searchlib/features/CMakeLists.txt +++ b/searchlib/src/vespa/searchlib/features/CMakeLists.txt @@ -35,6 +35,7 @@ vespa_add_library(searchlib_features OBJECT matchesfeature.cpp matchfeature.cpp max_reduce_prod_join_replacer.cpp + mutable_dense_tensor_view.cpp native_dot_product_feature.cpp nativeattributematchfeature.cpp nativefieldmatchfeature.cpp diff --git a/searchlib/src/vespa/searchlib/features/dense_tensor_attribute_executor.h b/searchlib/src/vespa/searchlib/features/dense_tensor_attribute_executor.h index d6e92a89619..890d806893a 100644 --- a/searchlib/src/vespa/searchlib/features/dense_tensor_attribute_executor.h +++ b/searchlib/src/vespa/searchlib/features/dense_tensor_attribute_executor.h @@ -4,7 +4,7 @@ #include <vespa/searchlib/fef/featureexecutor.h> #include <vespa/eval/eval/value.h> -#include <vespa/eval/tensor/dense/mutable_dense_tensor_view.h> +#include "mutable_dense_tensor_view.h" namespace search::tensor { class ITensorAttribute; } namespace search::features { diff --git a/searchlib/src/vespa/searchlib/features/mutable_dense_tensor_view.cpp b/searchlib/src/vespa/searchlib/features/mutable_dense_tensor_view.cpp new file mode 100644 index 00000000000..913a386418b --- /dev/null +++ b/searchlib/src/vespa/searchlib/features/mutable_dense_tensor_view.cpp @@ -0,0 +1,14 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#include "mutable_dense_tensor_view.h" + +namespace vespalib::eval { + +MutableDenseTensorView::MutableDenseTensorView(const ValueType &type_in) + : _type(type_in), + _cells() +{ + assert(_type.is_dense()); +} + +} diff --git a/searchlib/src/vespa/searchlib/features/mutable_dense_tensor_view.h b/searchlib/src/vespa/searchlib/features/mutable_dense_tensor_view.h new file mode 100644 index 00000000000..6b1011033a0 --- /dev/null +++ b/searchlib/src/vespa/searchlib/features/mutable_dense_tensor_view.h @@ -0,0 +1,29 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#pragma once + +#include <vespa/eval/eval/value.h> +#include <cassert> + +namespace vespalib::eval { + +/** + * A dense tensor with a cells reference that can be modified. + */ +class MutableDenseTensorView : public Value { +private: + const ValueType _type; + TypedCells _cells; +public: + MutableDenseTensorView(const ValueType &type_in); + void setCells(TypedCells cells_in) { + assert(cells_in.type == _type.cell_type()); + _cells = cells_in; + } + const ValueType &type() const final override { return _type; } + TypedCells cells() const final override { return _cells; } + const Index &index() const final override { return TrivialIndex::get(); } + MemoryUsage get_memory_usage() const final override { return self_memory_usage<MutableDenseTensorView>(); } +}; + +} diff --git a/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_iterator.h b/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_iterator.h index 9b8ad6295b3..eec45ea1af0 100644 --- a/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_iterator.h +++ b/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_iterator.h @@ -5,7 +5,6 @@ #include "searchiterator.h" #include "nearest_neighbor_distance_heap.h" #include <vespa/eval/eval/value.h> -#include <vespa/eval/tensor/dense/mutable_dense_tensor_view.h> #include <vespa/searchlib/fef/termfieldmatchdata.h> #include <vespa/searchlib/tensor/dense_tensor_attribute.h> #include <vespa/searchlib/tensor/distance_function.h> |