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
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/serialization/JsonFormat.java2
3 files changed, 10 insertions, 1 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)
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/serialization/JsonFormat.java b/vespajlib/src/main/java/com/yahoo/tensor/serialization/JsonFormat.java
index 9eb9cb06666..461e73e3611 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/serialization/JsonFormat.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/serialization/JsonFormat.java
@@ -216,7 +216,7 @@ public class JsonFormat {
return result;
}
- private static double[] decodeHexString(String input, TensorType.Value valueType) {
+ public static double[] decodeHexString(String input, TensorType.Value valueType) {
switch(valueType) {
case INT8:
return decodeHexStringAsBytes(input);