From d883fa1f9fff36baf7231e6e9f8958017a705657 Mon Sep 17 00:00:00 2001 From: Arne Juul Date: Thu, 16 Mar 2023 11:00:36 +0000 Subject: * make InputRecorder handle slice with embedded expressions * special handling for Generate and Slice in BindingExtractor --- vespajlib/abi-spec.json | 1 + vespajlib/src/main/java/com/yahoo/tensor/functions/Slice.java | 9 +++++++++ 2 files changed, 10 insertions(+) (limited to 'vespajlib') diff --git a/vespajlib/abi-spec.json b/vespajlib/abi-spec.json index c3b87278345..011e7e4a31d 100644 --- a/vespajlib/abi-spec.json +++ b/vespajlib/abi-spec.json @@ -2763,6 +2763,7 @@ "methods" : [ "public void (com.yahoo.tensor.functions.TensorFunction, java.util.List)", "public java.util.List arguments()", + "public java.util.List selectorFunctions()", "public com.yahoo.tensor.functions.Slice withArguments(java.util.List)", "public com.yahoo.tensor.functions.PrimitiveTensorFunction toPrimitive()", "public com.yahoo.tensor.Tensor evaluate(com.yahoo.tensor.evaluation.EvaluationContext)", 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 a9a6df6ed4d..87e24306031 100644 --- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Slice.java +++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Slice.java @@ -11,6 +11,7 @@ import com.yahoo.tensor.evaluation.EvaluationContext; import com.yahoo.tensor.evaluation.Name; import com.yahoo.tensor.evaluation.TypeContext; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Objects; @@ -47,6 +48,14 @@ public class Slice extends PrimitiveTensorFunction> arguments() { return List.of(argument); } + public List> selectorFunctions() { + var result = new ArrayList>(); + for (var dimVal : subspaceAddress) { + dimVal.index().ifPresent(fun -> fun.asTensorFunction().ifPresent(tf -> result.add(tf))); + } + return result; + } + @Override public Slice withArguments(List> arguments) { if (arguments.size() != 1) -- cgit v1.2.3