aboutsummaryrefslogtreecommitdiffstats
path: root/vespajlib
diff options
context:
space:
mode:
Diffstat (limited to 'vespajlib')
-rw-r--r--vespajlib/abi-spec.json2
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/IndexedDoubleTensor.java7
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Generate.java4
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Slice.java4
4 files changed, 16 insertions, 1 deletions
diff --git a/vespajlib/abi-spec.json b/vespajlib/abi-spec.json
index 04f859e2802..2e13fe0de26 100644
--- a/vespajlib/abi-spec.json
+++ b/vespajlib/abi-spec.json
@@ -1653,6 +1653,7 @@
"public void <init>(com.yahoo.tensor.TensorType, java.util.function.Function)",
"public static com.yahoo.tensor.functions.Generate free(com.yahoo.tensor.TensorType, java.util.function.Function)",
"public static com.yahoo.tensor.functions.Generate bound(com.yahoo.tensor.TensorType, com.yahoo.tensor.functions.ScalarFunction)",
+ "public com.yahoo.tensor.functions.ScalarFunction getBoundGenerator()",
"public java.util.List arguments()",
"public com.yahoo.tensor.functions.TensorFunction withArguments(java.util.List)",
"public com.yahoo.tensor.functions.PrimitiveTensorFunction toPrimitive()",
@@ -2548,6 +2549,7 @@
"public void <init>(com.yahoo.tensor.functions.TensorFunction, java.util.List)",
"public java.util.List arguments()",
"public com.yahoo.tensor.functions.Slice withArguments(java.util.List)",
+ "public java.util.List getSubspaceAddress()",
"public com.yahoo.tensor.functions.PrimitiveTensorFunction toPrimitive()",
"public com.yahoo.tensor.Tensor evaluate(com.yahoo.tensor.evaluation.EvaluationContext)",
"public com.yahoo.tensor.TensorType type(com.yahoo.tensor.evaluation.TypeContext)",
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/IndexedDoubleTensor.java b/vespajlib/src/main/java/com/yahoo/tensor/IndexedDoubleTensor.java
index 219a3fa2278..68c4aa4c809 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/IndexedDoubleTensor.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/IndexedDoubleTensor.java
@@ -58,7 +58,12 @@ class IndexedDoubleTensor extends IndexedTensor {
@Override
public IndexedTensor.BoundBuilder cell(double value, long ... indexes) {
- values[(int)toValueIndex(indexes, sizes())] = value;
+ int index = (int)toValueIndex(indexes, sizes());
+ if (index < 0 || index >= values.length) {
+ System.out.println("Argh");
+ }
+ values[index] = value;
+// values[(int)toValueIndex(indexes, sizes())] = value;
return this;
}
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Generate.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Generate.java
index fa3d70a4ddf..2a2551c9a58 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Generate.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Generate.java
@@ -71,6 +71,10 @@ public class Generate<NAMETYPE extends Name> extends PrimitiveTensorFunction<NAM
throw new IllegalArgumentException("A generated tensor can only have indexed bound dimensions");
}
+ public ScalarFunction<NAMETYPE> getBoundGenerator() {
+ return boundGenerator;
+ }
+
@Override
public List<TensorFunction<NAMETYPE>> arguments() { return Collections.emptyList(); }
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Slice.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Slice.java
index bccd66acd31..a0a3552eb92 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Slice.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Slice.java
@@ -53,6 +53,10 @@ public class Slice<NAMETYPE extends Name> extends PrimitiveTensorFunction<NAMETY
return new Slice<>(arguments.get(0), subspaceAddress);
}
+ public List<DimensionValue<NAMETYPE>> getSubspaceAddress() {
+ return subspaceAddress;
+ }
+
@Override
public PrimitiveTensorFunction<NAMETYPE> toPrimitive() { return this; }