diff options
Diffstat (limited to 'vespajlib')
-rw-r--r-- | vespajlib/abi-spec.json | 1 | ||||
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/tensor/IndexedTensor.java | 8 |
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) |