summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/tensor/serialization/JsonFormat.java
diff options
context:
space:
mode:
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/tensor/serialization/JsonFormat.java')
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/serialization/JsonFormat.java14
1 files changed, 9 insertions, 5 deletions
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 d7758f309db..b683519988c 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/serialization/JsonFormat.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/serialization/JsonFormat.java
@@ -109,11 +109,15 @@ public class JsonFormat {
private static void encodeValues(IndexedTensor tensor, Cursor cursor, long[] indexes, int dimension) {
DimensionSizes sizes = tensor.dimensionSizes();
- for (indexes[dimension] = 0; indexes[dimension] < sizes.size(dimension); ++indexes[dimension]) {
- if (dimension < (sizes.dimensions() - 1)) {
- encodeValues(tensor, cursor.addArray(), indexes, dimension + 1);
- } else {
- cursor.addDouble(tensor.get(indexes));
+ if (indexes.length == 0) {
+ cursor.addDouble(tensor.get(0));
+ } else {
+ for (indexes[dimension] = 0; indexes[dimension] < sizes.size(dimension); ++indexes[dimension]) {
+ if (dimension < (sizes.dimensions() - 1)) {
+ encodeValues(tensor, cursor.addArray(), indexes, dimension + 1);
+ } else {
+ cursor.addDouble(tensor.get(indexes));
+ }
}
}
}