You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ah...@apache.org on 2019/12/17 00:30:59 UTC
[commons-numbers] 01/03: Use integer division in
MultiDimensionalCounter.toMulti
This is an automated email from the ASF dual-hosted git repository.
aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
commit f6a35dabc9a8aab78ddf3dfcb6344e9aa59a75ba
Author: Alex Herbert <ah...@apache.org>
AuthorDate: Tue Dec 17 00:17:46 2019 +0000
Use integer division in MultiDimensionalCounter.toMulti
---
.../commons/numbers/arrays/MultidimensionalCounter.java | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/MultidimensionalCounter.java b/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/MultidimensionalCounter.java
index 301a0b1..cd8a47f 100644
--- a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/MultidimensionalCounter.java
+++ b/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/MultidimensionalCounter.java
@@ -126,20 +126,13 @@ public final class MultidimensionalCounter {
final int[] indices = new int[dimension];
- int count = 0;
for (int i = 0; i < last; i++) {
- int idx = 0;
- final int offset = uniCounterOffset[i];
- while (count <= index) {
- count += offset;
- ++idx;
- }
- --idx;
- count -= offset;
- indices[i] = idx;
+ indices[i] = index / uniCounterOffset[i];
+ // index = index % uniCounterOffset[i]
+ index = index - indices[i] * uniCounterOffset[i];
}
- indices[last] = index - count;
+ indices[last] = index;
return indices;
}