diff options
author | Arne Juul <arnej@verizonmedia.com> | 2020-09-28 14:03:18 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2020-09-28 14:03:18 +0000 |
commit | 574b67881df1e48c21069dba9bd59ad1a3dc2670 (patch) | |
tree | c2df238fd291e6e80bbf268d19483041b71ffa49 | |
parent | 0285fe78515a40aeef8fa2e601cd1e9e744408d9 (diff) |
minor refactoring
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); } |