summaryrefslogtreecommitdiffstats
path: root/eval
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@oath.com>2017-11-28 13:59:25 +0000
committerHåvard Pettersen <havardpe@oath.com>2017-11-28 13:59:25 +0000
commit0fc312dd2f13d290385f2bf6109132db05b6476a (patch)
tree9c1e25038a0d20830e695809e84b11f85dc0c050 /eval
parent94aeae9252acbfa519739d0a13ecf789cf7b0a71 (diff)
getType->type, sum->as_double
Diffstat (limited to 'eval')
-rw-r--r--eval/src/tests/tensor/dense_tensor_builder/dense_tensor_builder_test.cpp2
-rw-r--r--eval/src/tests/tensor/sparse_tensor_builder/sparse_tensor_builder_test.cpp2
-rw-r--r--eval/src/vespa/eval/tensor/default_tensor_engine.cpp16
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_tensor_view.cpp6
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_tensor_view.h4
-rw-r--r--eval/src/vespa/eval/tensor/serialization/slime_binary_format.cpp2
-rw-r--r--eval/src/vespa/eval/tensor/serialization/sparse_binary_format.cpp2
-rw-r--r--eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp6
-rw-r--r--eval/src/vespa/eval/tensor/sparse/sparse_tensor.h4
-rw-r--r--eval/src/vespa/eval/tensor/tensor.h4
-rw-r--r--eval/src/vespa/eval/tensor/wrapped_simple_tensor.cpp8
-rw-r--r--eval/src/vespa/eval/tensor/wrapped_simple_tensor.h4
12 files changed, 26 insertions, 34 deletions
diff --git a/eval/src/tests/tensor/dense_tensor_builder/dense_tensor_builder_test.cpp b/eval/src/tests/tensor/dense_tensor_builder/dense_tensor_builder_test.cpp
index de6fe4f175a..6f3cdd5f93f 100644
--- a/eval/src/tests/tensor/dense_tensor_builder/dense_tensor_builder_test.cpp
+++ b/eval/src/tests/tensor/dense_tensor_builder/dense_tensor_builder_test.cpp
@@ -240,7 +240,7 @@ TEST_F("require that dimensions are sorted", Fixture)
assertTensor({{"x", 5}, {"y", 3}},
{10, 11, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
denseTensor);
- EXPECT_EQUAL("tensor(x[5],y[3])", denseTensor.getType().to_spec());
+ EXPECT_EQUAL("tensor(x[5],y[3])", denseTensor.type().to_spec());
}
diff --git a/eval/src/tests/tensor/sparse_tensor_builder/sparse_tensor_builder_test.cpp b/eval/src/tests/tensor/sparse_tensor_builder/sparse_tensor_builder_test.cpp
index b6d58236c9c..bd3d1ada017 100644
--- a/eval/src/tests/tensor/sparse_tensor_builder/sparse_tensor_builder_test.cpp
+++ b/eval/src/tests/tensor/sparse_tensor_builder/sparse_tensor_builder_test.cpp
@@ -91,7 +91,7 @@ TEST("require that dimensions are extracted")
EXPECT_EQUAL("a", dims[0].name);
EXPECT_EQUAL("b", dims[1].name);
EXPECT_EQUAL("c", dims[2].name);
- EXPECT_EQUAL("tensor(a{},b{},c{})", sparseTensor.getType().to_spec());
+ EXPECT_EQUAL("tensor(a{},b{},c{})", sparseTensor.type().to_spec());
}
TEST_MAIN() { TEST_RUN_ALL(); }
diff --git a/eval/src/vespa/eval/tensor/default_tensor_engine.cpp b/eval/src/vespa/eval/tensor/default_tensor_engine.cpp
index 2506e6fcf0e..4d9ee7cb6f5 100644
--- a/eval/src/vespa/eval/tensor/default_tensor_engine.cpp
+++ b/eval/src/vespa/eval/tensor/default_tensor_engine.cpp
@@ -67,7 +67,7 @@ const Value &to_value(std::unique_ptr<Tensor> tensor, Stash &stash) {
if (!tensor) {
return ErrorValue::instance;
}
- if (tensor->getType().is_tensor()) {
+ if (tensor->type().is_tensor()) {
return *stash.create<Value::UP>(std::move(tensor));
}
return stash.create<DoubleValue>(tensor->as_double());
@@ -218,7 +218,7 @@ DefaultTensorEngine::map(const Value &a, map_fun_t function, Stash &stash) const
} else if (auto tensor = a.as_tensor()) {
assert(&tensor->engine() == this);
const tensor::Tensor &my_a = static_cast<const tensor::Tensor &>(*tensor);
- if (!tensor::Tensor::supported({my_a.getType()})) {
+ if (!tensor::Tensor::supported({my_a.type()})) {
return to_default(simple_engine().map(to_simple(a, stash), function, stash), stash);
}
CellFunctionFunAdapter cell_function(function);
@@ -237,7 +237,7 @@ DefaultTensorEngine::join(const Value &a, const Value &b, join_fun_t function, S
} else if (auto tensor_b = b.as_tensor()) {
assert(&tensor_b->engine() == this);
const tensor::Tensor &my_b = static_cast<const tensor::Tensor &>(*tensor_b);
- if (!tensor::Tensor::supported({my_b.getType()})) {
+ if (!tensor::Tensor::supported({my_b.type()})) {
return fallback_join(a, b, function, stash);
}
CellFunctionBindLeftAdapter cell_function(function, a.as_double());
@@ -249,7 +249,7 @@ DefaultTensorEngine::join(const Value &a, const Value &b, join_fun_t function, S
assert(&tensor_a->engine() == this);
const tensor::Tensor &my_a = static_cast<const tensor::Tensor &>(*tensor_a);
if (b.is_double()) {
- if (!tensor::Tensor::supported({my_a.getType()})) {
+ if (!tensor::Tensor::supported({my_a.type()})) {
return fallback_join(a, b, function, stash);
}
CellFunctionBindRightAdapter cell_function(function, b.as_double());
@@ -257,11 +257,11 @@ DefaultTensorEngine::join(const Value &a, const Value &b, join_fun_t function, S
} else if (auto tensor_b = b.as_tensor()) {
assert(&tensor_b->engine() == this);
const tensor::Tensor &my_b = static_cast<const tensor::Tensor &>(*tensor_b);
- if (!tensor::Tensor::supported({my_a.getType(), my_b.getType()})) {
+ if (!tensor::Tensor::supported({my_a.type(), my_b.type()})) {
return fallback_join(a, b, function, stash);
}
if (function == eval::operation::Mul::f) {
- if (my_a.getType() == my_b.getType()) {
+ if (my_a.type() == my_b.type()) {
return to_value(my_a.match(my_b), stash);
} else {
return to_value(my_a.multiply(my_b), stash);
@@ -291,14 +291,14 @@ DefaultTensorEngine::reduce(const Value &a, Aggr aggr, const std::vector<vespali
} else if (auto tensor = a.as_tensor()) {
assert(&tensor->engine() == this);
const tensor::Tensor &my_a = static_cast<const tensor::Tensor &>(*tensor);
- if (!tensor::Tensor::supported({my_a.getType()})) {
+ if (!tensor::Tensor::supported({my_a.type()})) {
return fallback_reduce(a, aggr, dimensions, stash);
}
switch (aggr) {
case Aggr::PROD: return to_value(my_a.reduce(eval::operation::Mul::f, dimensions), stash);
case Aggr::SUM:
if (dimensions.empty()) {
- return stash.create<eval::DoubleValue>(my_a.sum());
+ return stash.create<eval::DoubleValue>(my_a.as_double());
} else if (dimensions.size() == 1) {
return to_value(my_a.sum(dimensions[0]), stash);
} else {
diff --git a/eval/src/vespa/eval/tensor/dense/dense_tensor_view.cpp b/eval/src/vespa/eval/tensor/dense/dense_tensor_view.cpp
index 4402b5b0ae0..fc17366ca8d 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_tensor_view.cpp
+++ b/eval/src/vespa/eval/tensor/dense/dense_tensor_view.cpp
@@ -145,13 +145,13 @@ DenseTensorView::operator==(const DenseTensorView &rhs) const
}
const eval::ValueType &
-DenseTensorView::getType() const
+DenseTensorView::type() const
{
return _typeRef;
}
double
-DenseTensorView::sum() const
+DenseTensorView::as_double() const
{
double result = 0.0;
for (const auto &cell : _cellsRef) {
@@ -271,7 +271,7 @@ buildAddress(const DenseTensorCellsIterator &itr, TensorSpec::Address &address)
TensorSpec
DenseTensorView::toSpec() const
{
- TensorSpec result(getType().to_spec());
+ TensorSpec result(type().to_spec());
TensorSpec::Address address;
for (CellsIterator itr(_typeRef, _cellsRef); itr.valid(); itr.next()) {
buildAddress(itr, address);
diff --git a/eval/src/vespa/eval/tensor/dense/dense_tensor_view.h b/eval/src/vespa/eval/tensor/dense/dense_tensor_view.h
index 472cc58ad6b..871f5478cae 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_tensor_view.h
+++ b/eval/src/vespa/eval/tensor/dense/dense_tensor_view.h
@@ -47,8 +47,8 @@ public:
bool operator==(const DenseTensorView &rhs) const;
CellsIterator cellsIterator() const { return CellsIterator(_typeRef, _cellsRef); }
- virtual const eval::ValueType &getType() const override;
- virtual double sum() const override;
+ virtual const eval::ValueType &type() const override;
+ virtual double as_double() const override;
virtual Tensor::UP add(const Tensor &arg) const override;
virtual Tensor::UP subtract(const Tensor &arg) const override;
virtual Tensor::UP multiply(const Tensor &arg) const override;
diff --git a/eval/src/vespa/eval/tensor/serialization/slime_binary_format.cpp b/eval/src/vespa/eval/tensor/serialization/slime_binary_format.cpp
index c7be1580f19..94ca309ecbc 100644
--- a/eval/src/vespa/eval/tensor/serialization/slime_binary_format.cpp
+++ b/eval/src/vespa/eval/tensor/serialization/slime_binary_format.cpp
@@ -75,7 +75,7 @@ SlimeBinaryFormatSerializer::visit(const TensorAddress &address,
void
SlimeBinaryFormatSerializer::serialize(const Tensor &tensor)
{
- eval::ValueType type(tensor.getType());
+ eval::ValueType type(tensor.type());
for (const auto & dimension : type.dimensions()) {
_dimensions.addString(Memory(dimension.name));
}
diff --git a/eval/src/vespa/eval/tensor/serialization/sparse_binary_format.cpp b/eval/src/vespa/eval/tensor/serialization/sparse_binary_format.cpp
index bcb95eeed29..bd0c5b25f93 100644
--- a/eval/src/vespa/eval/tensor/serialization/sparse_binary_format.cpp
+++ b/eval/src/vespa/eval/tensor/serialization/sparse_binary_format.cpp
@@ -77,7 +77,7 @@ void
SparseBinaryFormatSerializer::serialize(nbostream &stream,
const Tensor &tensor)
{
- _type = tensor.getType();
+ _type = tensor.type();
tensor.accept(*this);
stream.putInt1_4Bytes(_type.dimensions().size());
for (const auto &dimension : _type.dimensions()) {
diff --git a/eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp b/eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp
index 84aab8826c3..9b1c608cf46 100644
--- a/eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp
+++ b/eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp
@@ -98,13 +98,13 @@ SparseTensor::combineDimensionsWith(const SparseTensor &rhs) const
}
const eval::ValueType &
-SparseTensor::getType() const
+SparseTensor::type() const
{
return _type;
}
double
-SparseTensor::sum() const
+SparseTensor::as_double() const
{
double result = 0.0;
for (const auto &cell : _cells) {
@@ -235,7 +235,7 @@ buildAddress(const eval::ValueType &type,
TensorSpec
SparseTensor::toSpec() const
{
- TensorSpec result(getType().to_spec());
+ TensorSpec result(type().to_spec());
TensorSpec::Address address;
for (const auto &cell : _cells) {
SparseTensorAddressDecoder decoder(cell.first);
diff --git a/eval/src/vespa/eval/tensor/sparse/sparse_tensor.h b/eval/src/vespa/eval/tensor/sparse/sparse_tensor.h
index 8f5f8066352..4b00fe96d38 100644
--- a/eval/src/vespa/eval/tensor/sparse/sparse_tensor.h
+++ b/eval/src/vespa/eval/tensor/sparse/sparse_tensor.h
@@ -41,8 +41,8 @@ public:
bool operator==(const SparseTensor &rhs) const;
eval::ValueType combineDimensionsWith(const SparseTensor &rhs) const;
- virtual const eval::ValueType &getType() const override;
- virtual double sum() const override;
+ virtual const eval::ValueType &type() const override;
+ virtual double as_double() const override;
virtual Tensor::UP add(const Tensor &arg) const override;
virtual Tensor::UP subtract(const Tensor &arg) const override;
virtual Tensor::UP multiply(const Tensor &arg) const override;
diff --git a/eval/src/vespa/eval/tensor/tensor.h b/eval/src/vespa/eval/tensor/tensor.h
index 80afbbf52ff..ab859dd7299 100644
--- a/eval/src/vespa/eval/tensor/tensor.h
+++ b/eval/src/vespa/eval/tensor/tensor.h
@@ -30,10 +30,6 @@ struct Tensor : public eval::Tensor
Tensor();
virtual ~Tensor() {}
- virtual const eval::ValueType &getType() const = 0;
- virtual const eval::ValueType &type() const override { return getType(); }
- virtual double sum() const = 0;
- virtual double as_double() const final override { return sum(); }
virtual Tensor::UP add(const Tensor &arg) const = 0;
virtual Tensor::UP subtract(const Tensor &arg) const = 0;
virtual Tensor::UP multiply(const Tensor &arg) const = 0;
diff --git a/eval/src/vespa/eval/tensor/wrapped_simple_tensor.cpp b/eval/src/vespa/eval/tensor/wrapped_simple_tensor.cpp
index 7ad97a6e84e..7d528fdb8a9 100644
--- a/eval/src/vespa/eval/tensor/wrapped_simple_tensor.cpp
+++ b/eval/src/vespa/eval/tensor/wrapped_simple_tensor.cpp
@@ -30,13 +30,9 @@ WrappedSimpleTensor::toSpec() const
}
double
-WrappedSimpleTensor::sum() const
+WrappedSimpleTensor::as_double() const
{
- double result = 0.0;
- for (const auto &cell: _tensor.cells()) {
- result += cell.value;
- }
- return result;
+ return _tensor.as_double();
}
void
diff --git a/eval/src/vespa/eval/tensor/wrapped_simple_tensor.h b/eval/src/vespa/eval/tensor/wrapped_simple_tensor.h
index ef3cb6425c1..33357f744b4 100644
--- a/eval/src/vespa/eval/tensor/wrapped_simple_tensor.h
+++ b/eval/src/vespa/eval/tensor/wrapped_simple_tensor.h
@@ -28,11 +28,11 @@ public:
: _space(std::move(tensor)), _tensor(*_space) {}
~WrappedSimpleTensor() {}
const eval::SimpleTensor &get() const { return _tensor; }
- const eval::ValueType &getType() const override { return _tensor.type(); }
+ const eval::ValueType &type() const override { return _tensor.type(); }
bool equals(const Tensor &arg) const override;
vespalib::string toString() const override;
eval::TensorSpec toSpec() const override;
- double sum() const override;
+ double as_double() const override;
void accept(TensorVisitor &visitor) const override;
void print(std::ostream &out) const override;
Tensor::UP clone() const override;