summaryrefslogtreecommitdiffstats
path: root/eval
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-10-14 12:34:58 +0000
committerArne Juul <arnej@verizonmedia.com>2020-10-14 12:34:58 +0000
commitc45266c12f0a7b8c67a74f535e01057561505564 (patch)
treedde869ee42c430d9a0aa34afff7b33fbf17ec541 /eval
parent499edde41b9341b940401ae6169f2ad6926cd642 (diff)
update TensorSpec::from_value and use that
Diffstat (limited to 'eval')
-rw-r--r--eval/src/vespa/eval/eval/tensor_spec.cpp12
-rw-r--r--eval/src/vespa/eval/eval/test/value_compare.cpp18
2 files changed, 8 insertions, 22 deletions
diff --git a/eval/src/vespa/eval/eval/tensor_spec.cpp b/eval/src/vespa/eval/eval/tensor_spec.cpp
index 1a6a9520e58..9f4751fb3b7 100644
--- a/eval/src/vespa/eval/eval/tensor_spec.cpp
+++ b/eval/src/vespa/eval/eval/tensor_spec.cpp
@@ -2,6 +2,7 @@
#include "tensor_spec.h"
#include "value.h"
+#include "value_codec.h"
#include "tensor.h"
#include "tensor_engine.h"
#include "simple_tensor_engine.h"
@@ -115,13 +116,12 @@ TensorSpec::from_slime(const slime::Inspector &tensor)
TensorSpec
TensorSpec::from_value(const eval::Value &value)
{
- if (const eval::Tensor *tensor = value.as_tensor()) {
- return tensor->engine().to_spec(*tensor);
+ auto tensor = dynamic_cast<const vespalib::eval::Tensor *>(&value);
+ if (tensor) {
+ return tensor->engine().to_spec(value);
+ } else {
+ return spec_from_value(value);
}
- if (value.is_double()) {
- return TensorSpec("double").add({}, value.as_double());
- }
- return TensorSpec("error");
}
TensorSpec
diff --git a/eval/src/vespa/eval/eval/test/value_compare.cpp b/eval/src/vespa/eval/eval/test/value_compare.cpp
index f39051b4bbe..361926d1a7e 100644
--- a/eval/src/vespa/eval/eval/test/value_compare.cpp
+++ b/eval/src/vespa/eval/eval/test/value_compare.cpp
@@ -7,28 +7,14 @@
namespace vespalib::eval {
-namespace {
-
-TensorSpec get_spec_from(const Value &value) {
- auto tensor = dynamic_cast<const vespalib::eval::Tensor *>(&value);
- if (tensor) {
- return tensor->engine().to_spec(value);
- } else {
- return spec_from_value(value);
- }
-}
-
-} // namespace <unnamed>
-
bool operator==(const Value &lhs, const Value &rhs)
{
- return get_spec_from(lhs) == get_spec_from(rhs);
+ return TensorSpec::from_value(lhs) == TensorSpec::from_value(rhs);
}
std::ostream &operator<<(std::ostream &out, const Value &value)
{
- auto spec = get_spec_from(value);
- out << spec.to_string();
+ out << TensorSpec::from_value(value);
return out;
}