summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2019-03-11 19:26:18 +0100
committerTor Egge <Tor.Egge@broadpark.no>2019-03-11 19:26:18 +0100
commit8dd6e095f7f526e5a85db146415abfd9bfa635ff (patch)
tree23c87841f2be4832afb0528bbc17fff66df02bc9 /document
parent48ce50681ad29a1a17446dbb1f0413615ca35725 (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.cpp15
-rw-r--r--document/src/vespa/document/datatype/tensor_data_type.h1
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);
};
}