diff options
author | Arne Juul <arnej@verizonmedia.com> | 2020-10-14 12:34:58 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2020-10-14 12:34:58 +0000 |
commit | c45266c12f0a7b8c67a74f535e01057561505564 (patch) | |
tree | dde869ee42c430d9a0aa34afff7b33fbf17ec541 /eval | |
parent | 499edde41b9341b940401ae6169f2ad6926cd642 (diff) |
update TensorSpec::from_value and use that
Diffstat (limited to 'eval')
-rw-r--r-- | eval/src/vespa/eval/eval/tensor_spec.cpp | 12 | ||||
-rw-r--r-- | eval/src/vespa/eval/eval/test/value_compare.cpp | 18 |
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; } |