summaryrefslogtreecommitdiffstats
path: root/eval
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-01-09 23:20:13 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2018-01-09 23:20:13 +0100
commit1b305b6f01bd0df3fbd655d069f9b24b6a41d842 (patch)
treef05d16b6b35838d01c1d4079e04487034248bf2c /eval
parent0a8534171a39c00f7d1938c14eb4ec96a0c02692 (diff)
Hide the calculation inside the address context.
Diffstat (limited to 'eval')
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_tensor_address_combiner.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/eval/src/vespa/eval/tensor/dense/dense_tensor_address_combiner.h b/eval/src/vespa/eval/tensor/dense/dense_tensor_address_combiner.h
index 5b7c2cb4cb4..845ec767094 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_tensor_address_combiner.h
+++ b/eval/src/vespa/eval/tensor/dense/dense_tensor_address_combiner.h
@@ -29,6 +29,7 @@ private:
public:
AddressContext(const eval::ValueType &type, CellsRef cells);
size_type dimSize(uint32_t dim) const { return _type.dimensions()[dim].size; }
+ size_type wholeDimStep(uint32_t dim) const { return _accumulatedSize[dim] * dimSize(dim); }
double cell() const { return cell(index()); }
double cell(size_t cellIdx) const { return _cells[cellIdx]; }
size_t index() const {
@@ -92,7 +93,7 @@ public:
rightCellIdx += _rightAddress._accumulatedSize[rdim];
}
cindex = 0;
- rightCellIdx -= _rightAddress._accumulatedSize[rdim] * _rightAddress.dimSize(rdim);
+ rightCellIdx -= _rightAddress.wholeDimStep(rdim);
curDimension--;
} else {
if (cindex < _rightAddress.dimSize(rdim)) {
@@ -100,7 +101,7 @@ public:
rightCellIdx += _rightAddress._accumulatedSize[rdim];
curDimension++;
} else {
- rightCellIdx -= _rightAddress._accumulatedSize[rdim] * _rightAddress.dimSize(rdim);
+ rightCellIdx -= _rightAddress.wholeDimStep(rdim);
cindex = 0;
curDimension--;
}