diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-01-02 03:06:22 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2018-01-09 16:58:05 +0100 |
commit | 5f7cab3080a356e0a320745712a353e65fab42a1 (patch) | |
tree | 1752ad45f0c5e853d1991cc9b9fb754ba03b5ef1 | |
parent | 70cb9c37286ad5884d81be994ad161deb49b3669 (diff) |
Inline simple method called in innerloop.
-rw-r--r-- | eval/src/vespa/eval/tensor/dense/direct_dense_tensor_builder.cpp | 21 | ||||
-rw-r--r-- | eval/src/vespa/eval/tensor/dense/direct_dense_tensor_builder.h | 12 |
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(); }; |