diff options
author | Tor Egge <Tor.Egge@broadpark.no> | 2019-03-11 19:26:18 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@broadpark.no> | 2019-03-11 19:26:18 +0100 |
commit | 8dd6e095f7f526e5a85db146415abfd9bfa635ff (patch) | |
tree | 23c87841f2be4832afb0528bbc17fff66df02bc9 /document | |
parent | 48ce50681ad29a1a17446dbb1f0413615ca35725 (diff) |
Stop using tensor mapper when setting values in tensor attribute.
Diffstat (limited to 'document')
-rw-r--r-- | document/src/vespa/document/datatype/tensor_data_type.cpp | 15 | ||||
-rw-r--r-- | document/src/vespa/document/datatype/tensor_data_type.h | 1 |
2 files changed, 11 insertions, 5 deletions
diff --git a/document/src/vespa/document/datatype/tensor_data_type.cpp b/document/src/vespa/document/datatype/tensor_data_type.cpp index 8aad39c68b7..2608f1227da 100644 --- a/document/src/vespa/document/datatype/tensor_data_type.cpp +++ b/document/src/vespa/document/datatype/tensor_data_type.cpp @@ -50,11 +50,17 @@ TensorDataType::fromSpec(const vespalib::string &spec) } bool -TensorDataType::isAssignableType(const vespalib::eval::ValueType &rhs) const +TensorDataType::isAssignableType(const ValueType &tensorType) const { - const auto &dimensions = _tensorType.dimensions(); - const auto &rhsDimensions = rhs.dimensions(); - if (!rhs.is_tensor() || dimensions.size() != rhsDimensions.size()) { + return isAssignableType(_tensorType, tensorType); +} + +bool +TensorDataType::isAssignableType(const ValueType &fieldTensorType, const ValueType &tensorType) +{ + const auto &dimensions = fieldTensorType.dimensions(); + const auto &rhsDimensions = tensorType.dimensions(); + if (!tensorType.is_tensor() || dimensions.size() != rhsDimensions.size()) { return false; } for (size_t i = 0; i < dimensions.size(); ++i) { @@ -68,7 +74,6 @@ TensorDataType::isAssignableType(const vespalib::eval::ValueType &rhs) const } } return true; - } } // document diff --git a/document/src/vespa/document/datatype/tensor_data_type.h b/document/src/vespa/document/datatype/tensor_data_type.h index 43f14c3c3ea..d6a022ac3e5 100644 --- a/document/src/vespa/document/datatype/tensor_data_type.h +++ b/document/src/vespa/document/datatype/tensor_data_type.h @@ -25,6 +25,7 @@ public: const vespalib::eval::ValueType &getTensorType() const { return _tensorType; } bool isAssignableType(const vespalib::eval::ValueType &tensorType) const; + static bool isAssignableType(const vespalib::eval::ValueType &fieldTensorType, const vespalib::eval::ValueType &tensorType); }; } |