aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-09-28 14:03:18 +0000
committerArne Juul <arnej@verizonmedia.com>2020-09-28 14:03:18 +0000
commit574b67881df1e48c21069dba9bd59ad1a3dc2670 (patch)
treec2df238fd291e6e80bbf268d19483041b71ffa49
parent0285fe78515a40aeef8fa2e601cd1e9e744408d9 (diff)
minor refactoring
-rw-r--r--eval/src/vespa/eval/tensor/sparse/sparse_tensor_value.cpp9
-rw-r--r--eval/src/vespa/eval/tensor/sparse/sparse_tensor_value.h1
-rw-r--r--eval/src/vespa/eval/tensor/sparse/sparse_tensor_value_builder.cpp4
3 files changed, 11 insertions, 3 deletions
diff --git a/eval/src/vespa/eval/tensor/sparse/sparse_tensor_value.cpp b/eval/src/vespa/eval/tensor/sparse/sparse_tensor_value.cpp
index 342f2b3b6b2..62e3c786262 100644
--- a/eval/src/vespa/eval/tensor/sparse/sparse_tensor_value.cpp
+++ b/eval/src/vespa/eval/tensor/sparse/sparse_tensor_value.cpp
@@ -219,6 +219,15 @@ SparseTensorValueIndex::create_view(const std::vector<size_t> &dims) const
return std::make_unique<SparseTensorValueView>(_map, dims);
}
+void
+SparseTensorValueIndex::add_subspace(SparseTensorAddressRef tmp_ref, size_t idx)
+{
+ SparseTensorAddressRef ref(tmp_ref, _stash);
+ assert(_map.find(ref) == _map.end());
+ assert(_map.size() == idx);
+ _map[ref] = idx;
+}
+
//-----------------------------------------------------------------------------
template<typename T>
diff --git a/eval/src/vespa/eval/tensor/sparse/sparse_tensor_value.h b/eval/src/vespa/eval/tensor/sparse/sparse_tensor_value.h
index 9cc334c8032..61e412b0191 100644
--- a/eval/src/vespa/eval/tensor/sparse/sparse_tensor_value.h
+++ b/eval/src/vespa/eval/tensor/sparse/sparse_tensor_value.h
@@ -27,6 +27,7 @@ struct SparseTensorValueIndex : public vespalib::eval::Value::Index
~SparseTensorValueIndex();
size_t size() const override;
std::unique_ptr<View> create_view(const std::vector<size_t> &dims) const override;
+ void add_subspace(SparseTensorAddressRef tmp_ref, size_t idx);
};
/**
diff --git a/eval/src/vespa/eval/tensor/sparse/sparse_tensor_value_builder.cpp b/eval/src/vespa/eval/tensor/sparse/sparse_tensor_value_builder.cpp
index d00ec8bc990..07ba2b217ac 100644
--- a/eval/src/vespa/eval/tensor/sparse/sparse_tensor_value_builder.cpp
+++ b/eval/src/vespa/eval/tensor/sparse/sparse_tensor_value_builder.cpp
@@ -15,9 +15,7 @@ SparseTensorValueBuilder<T>::add_subspace(const std::vector<vespalib::stringref>
_addr_builder.add(label);
}
auto tmp_ref = _addr_builder.getAddressRef();
- SparseTensorAddressRef ref(tmp_ref, _index._stash);
- assert(_index._map.find(ref) == _index._map.end());
- _index._map[ref] = idx;
+ _index.add_subspace(tmp_ref, idx);
return ArrayRef<T>(&_cells[idx], 1);
}