diff options
author | Håvard Pettersen <havardpe@oath.com> | 2020-12-10 15:31:35 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@oath.com> | 2021-01-05 12:18:35 +0000 |
commit | 74665956e649cb28682ba25d4f2089a7fae5087e (patch) | |
tree | b89c61226566a11e13adb38430ba841d5a20ae0e /document | |
parent | 6438e2f64460178525a42fcfdaf207e264a020ef (diff) |
use string ids as tensor labels
Diffstat (limited to 'document')
-rw-r--r-- | document/src/test/resources/tensor/multi_cell_tensor__cpp | bin | 107 -> 107 bytes | |||
-rw-r--r-- | document/src/vespa/document/update/tensor_partial_update.cpp | 12 |
2 files changed, 7 insertions, 5 deletions
diff --git a/document/src/test/resources/tensor/multi_cell_tensor__cpp b/document/src/test/resources/tensor/multi_cell_tensor__cpp Binary files differindex deb53463fb5..9adda236a4a 100644 --- a/document/src/test/resources/tensor/multi_cell_tensor__cpp +++ b/document/src/test/resources/tensor/multi_cell_tensor__cpp diff --git a/document/src/vespa/document/update/tensor_partial_update.cpp b/document/src/vespa/document/update/tensor_partial_update.cpp index fbc60cc09af..f763c92741c 100644 --- a/document/src/vespa/document/update/tensor_partial_update.cpp +++ b/document/src/vespa/document/update/tensor_partial_update.cpp @@ -5,6 +5,7 @@ #include <vespa/vespalib/util/overload.h> #include <vespa/vespalib/util/typify.h> #include <vespa/vespalib/util/visit_ranges.h> +#include <vespa/vespalib/util/shared_string_repo.h> #include <cassert> #include <set> @@ -43,7 +44,8 @@ struct DenseCoords { } ~DenseCoords(); void clear() { offset = 0; current = 0; } - void convert_label(vespalib::stringref label) { + void convert_label(label_t label_id) { + vespalib::string label = SharedStringRepo::Handle::string_from_id(label_id); uint32_t coord = 0; for (char c : label) { if (c < '0' || c > '9') { // bad char @@ -71,9 +73,9 @@ struct DenseCoords { DenseCoords::~DenseCoords() = default; struct SparseCoords { - std::vector<vespalib::stringref> addr; - std::vector<vespalib::stringref *> next_result_refs; - std::vector<const vespalib::stringref *> lookup_refs; + std::vector<label_t> addr; + std::vector<label_t *> next_result_refs; + std::vector<const label_t *> lookup_refs; std::vector<size_t> lookup_view_dims; SparseCoords(size_t sz) : addr(sz), next_result_refs(sz), lookup_refs(sz), lookup_view_dims(sz) @@ -327,7 +329,7 @@ calc_mapped_dimension_indexes(const ValueType& input_type, struct ModifierCoords { - std::vector<const vespalib::stringref *> lookup_refs; + std::vector<const label_t *> lookup_refs; std::vector<size_t> lookup_view_dims; ModifierCoords(const SparseCoords& input_coords, |