summaryrefslogtreecommitdiffstats
path: root/eval
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-01-02 03:06:22 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2018-01-09 16:58:05 +0100
commit5f7cab3080a356e0a320745712a353e65fab42a1 (patch)
tree1752ad45f0c5e853d1991cc9b9fb754ba03b5ef1 /eval
parent70cb9c37286ad5884d81be994ad161deb49b3669 (diff)
Inline simple method called in innerloop.
Diffstat (limited to 'eval')
-rw-r--r--eval/src/vespa/eval/tensor/dense/direct_dense_tensor_builder.cpp21
-rw-r--r--eval/src/vespa/eval/tensor/dense/direct_dense_tensor_builder.h12
2 files changed, 11 insertions, 22 deletions
diff --git a/eval/src/vespa/eval/tensor/dense/direct_dense_tensor_builder.cpp b/eval/src/vespa/eval/tensor/dense/direct_dense_tensor_builder.cpp
index 27d72e18f96..f800750bf8f 100644
--- a/eval/src/vespa/eval/tensor/dense/direct_dense_tensor_builder.cpp
+++ b/eval/src/vespa/eval/tensor/dense/direct_dense_tensor_builder.cpp
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "direct_dense_tensor_builder.h"
-#include <cassert>
namespace vespalib::tensor {
@@ -20,18 +19,6 @@ calculateCellsSize(const ValueType &type)
return cellsSize;
}
-size_t
-calculateCellAddress(const Address &address, const ValueType &type)
-{
- assert(address.size() == type.dimensions().size());
- size_t result = 0;
- for (size_t i = 0; i < address.size(); ++i) {
- result *= type.dimensions()[i].size;
- result += address[i];
- }
- return result;
-}
-
}
DirectDenseTensorBuilder::~DirectDenseTensorBuilder() = default;
@@ -42,14 +29,6 @@ DirectDenseTensorBuilder::DirectDenseTensorBuilder(const ValueType &type_in)
{
}
-void
-DirectDenseTensorBuilder::insertCell(const Address &address, double cellValue)
-{
- size_t cellAddress = calculateCellAddress(address, _type);
- assert(cellAddress < _cells.size());
- _cells[cellAddress] = cellValue;
-}
-
Tensor::UP
DirectDenseTensorBuilder::build()
{
diff --git a/eval/src/vespa/eval/tensor/dense/direct_dense_tensor_builder.h b/eval/src/vespa/eval/tensor/dense/direct_dense_tensor_builder.h
index 865decd9fb8..ac53ddf5e95 100644
--- a/eval/src/vespa/eval/tensor/dense/direct_dense_tensor_builder.h
+++ b/eval/src/vespa/eval/tensor/dense/direct_dense_tensor_builder.h
@@ -19,10 +19,20 @@ private:
eval::ValueType _type;
Cells _cells;
+ static size_t calculateCellAddress(const Address &address, const eval::ValueType &type) {
+ size_t result = 0;
+ for (size_t i = 0; i < address.size(); ++i) {
+ result *= type.dimensions()[i].size;
+ result += address[i];
+ }
+ return result;
+ }
public:
DirectDenseTensorBuilder(const eval::ValueType &type_in);
~DirectDenseTensorBuilder();
- void insertCell(const Address &address, double cellValue);
+ void insertCell(const Address &address, double cellValue) {
+ _cells[calculateCellAddress(address, _type)] = cellValue;
+ }
Tensor::UP build();
};