summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/tensor/DimensionSizes.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2017-12-19 23:02:04 +0100
committerJon Bratseth <bratseth@yahoo-inc.com>2017-12-19 23:02:04 +0100
commit35d59981840614bf4b877714ee88e273816c46d2 (patch)
treefba37b2e8bc9fcee46821821ab2886d371fcd696 /vespajlib/src/main/java/com/yahoo/tensor/DimensionSizes.java
parent067eb48b7d2fc062a74392b1c16f5538b5031d5b (diff)
Use longs for dimensions lengths in all API's
This is to be able to support tensor dimensions with more than 2B elements in the future without API change.
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/tensor/DimensionSizes.java')
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/DimensionSizes.java18
1 files changed, 9 insertions, 9 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/DimensionSizes.java b/vespajlib/src/main/java/com/yahoo/tensor/DimensionSizes.java
index f6237a1977a..01bf082d32f 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/DimensionSizes.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/DimensionSizes.java
@@ -13,7 +13,7 @@ import java.util.Arrays;
@Beta
public final class DimensionSizes {
- private final int[] sizes;
+ private final long[] sizes;
private DimensionSizes(Builder builder) {
this.sizes = builder.sizes;
@@ -25,15 +25,15 @@ public final class DimensionSizes {
*
* @throws IndexOutOfBoundsException if the index is larger than the number of dimensions in this tensor minus one
*/
- public int size(int dimensionIndex) { return sizes[dimensionIndex]; }
+ public long size(int dimensionIndex) { return sizes[dimensionIndex]; }
/** Returns the number of dimensions this provides the size of */
public int dimensions() { return sizes.length; }
/** Returns the product of the sizes of this */
- public int totalSize() {
- int productSize = 1;
- for (int dimensionSize : sizes )
+ public long totalSize() {
+ long productSize = 1;
+ for (long dimensionSize : sizes )
productSize *= dimensionSize;
return productSize;
}
@@ -54,13 +54,13 @@ public final class DimensionSizes {
*/
public final static class Builder {
- private int[] sizes;
+ private long[] sizes;
public Builder(int dimensions) {
- this.sizes = new int[dimensions];
+ this.sizes = new long[dimensions];
}
- public Builder set(int dimensionIndex, int size) {
+ public Builder set(int dimensionIndex, long size) {
sizes[dimensionIndex] = size;
return this;
}
@@ -70,7 +70,7 @@ public final class DimensionSizes {
*
* @throws IndexOutOfBoundsException if the index is larger than the number of dimensions in this tensor minus one
*/
- public int size(int dimensionIndex) { return sizes[dimensionIndex]; }
+ public long size(int dimensionIndex) { return sizes[dimensionIndex]; }
/** Returns the number of dimensions this provides the size of */
public int dimensions() { return sizes.length; }