diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-12-19 14:07:25 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-12-19 15:32:38 +0100 |
commit | 4ce34da75951ddbf8d76fc6a2f7b8039c74e5cfe (patch) | |
tree | 7c97187ac671243f006eec74c26152f174d2ba6d /eval | |
parent | a7305b4d19dd52cbe2ba40a5be6ed2982d56f491 (diff) |
DenseTensorCellsIterator::next
Diffstat (limited to 'eval')
-rw-r--r-- | eval/src/vespa/eval/tensor/dense/dense_tensor_cells_iterator.cpp | 15 | ||||
-rw-r--r-- | eval/src/vespa/eval/tensor/dense/dense_tensor_cells_iterator.h | 13 |
2 files changed, 12 insertions, 16 deletions
diff --git a/eval/src/vespa/eval/tensor/dense/dense_tensor_cells_iterator.cpp b/eval/src/vespa/eval/tensor/dense/dense_tensor_cells_iterator.cpp index 320366234d8..d20c5124330 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_tensor_cells_iterator.cpp +++ b/eval/src/vespa/eval/tensor/dense/dense_tensor_cells_iterator.cpp @@ -12,19 +12,4 @@ DenseTensorCellsIterator::DenseTensorCellsIterator(const eval::ValueType &type_i {} DenseTensorCellsIterator::~DenseTensorCellsIterator() = default; -void -DenseTensorCellsIterator::next() -{ - ++_cellIdx; - for (int64_t i = (_address.size() - 1); i >= 0; --i) { - _address[i]++; - if (__builtin_expect((_address[i] != _type.dimensions()[i].size), true)) { - // Outer dimension labels can only be increased when this label wraps around. - break; - } else { - _address[i] = 0; - } - } -} - } diff --git a/eval/src/vespa/eval/tensor/dense/dense_tensor_cells_iterator.h b/eval/src/vespa/eval/tensor/dense/dense_tensor_cells_iterator.h index 094e7459405..fcffecef764 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_tensor_cells_iterator.h +++ b/eval/src/vespa/eval/tensor/dense/dense_tensor_cells_iterator.h @@ -27,7 +27,18 @@ private: public: DenseTensorCellsIterator(const eval::ValueType &type_in, CellsRef cells); ~DenseTensorCellsIterator(); - void next(); + void next() { + ++_cellIdx; + for (int64_t i = (_address.size() - 1); i >= 0; --i) { + _address[i]++; + if (__builtin_expect((_address[i] != _type.dimensions()[i].size), true)) { + // Outer dimension labels can only be increased when this label wraps around. + break; + } else { + _address[i] = 0; + } + } + } bool valid() const { return _cellIdx < _cells.size(); } double cell() const { return _cells[_cellIdx]; } const Address &address() const { return _address; } |