summaryrefslogtreecommitdiffstats
path: root/vespajlib
diff options
context:
space:
mode:
Diffstat (limited to 'vespajlib')
-rw-r--r--vespajlib/abi-spec.json1
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/IndexedTensor.java8
2 files changed, 9 insertions, 0 deletions
diff --git a/vespajlib/abi-spec.json b/vespajlib/abi-spec.json
index ccdd09e4cab..4ddf8b83cdc 100644
--- a/vespajlib/abi-spec.json
+++ b/vespajlib/abi-spec.json
@@ -897,6 +897,7 @@
"public com.yahoo.tensor.TensorType type()",
"public abstract com.yahoo.tensor.IndexedTensor withType(com.yahoo.tensor.TensorType)",
"public com.yahoo.tensor.DimensionSizes dimensionSizes()",
+ "public long[] shape()",
"public java.util.Map cells()",
"public com.yahoo.tensor.Tensor remove(java.util.Set)",
"public java.lang.String toString()",
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/IndexedTensor.java b/vespajlib/src/main/java/com/yahoo/tensor/IndexedTensor.java
index 24578f035a3..d822a5c6b8b 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/IndexedTensor.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/IndexedTensor.java
@@ -191,6 +191,14 @@ public abstract class IndexedTensor implements Tensor {
public DimensionSizes dimensionSizes() { return dimensionSizes; }
+ public long[] shape() {
+ long[] result = new long[dimensionSizes.dimensions()];
+ for (int i = 0; i < result.length; ++i) {
+ result[i] = dimensionSizes.size(i);
+ }
+ return result;
+ }
+
@Override
public Map<TensorAddress, Double> cells() {
if (dimensionSizes.dimensions() == 0)