diff options
author | Arne Juul <arnej@yahooinc.com> | 2023-03-16 11:00:36 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahooinc.com> | 2023-03-16 11:05:35 +0000 |
commit | d883fa1f9fff36baf7231e6e9f8958017a705657 (patch) | |
tree | a99d74c943de8eb2d0b6c47746e39b612aa4c5c6 /vespajlib/src/main/java/com/yahoo/tensor | |
parent | 9ec2f1a8888610e961ba4c6894abb096a8373850 (diff) |
* make InputRecorder handle slice with embedded expressions
* special handling for Generate and Slice in BindingExtractor
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/tensor')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/tensor/functions/Slice.java | 9 |
1 files changed, 9 insertions, 0 deletions
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<NAMETYPE extends Name> extends PrimitiveTensorFunction<NAMETY @Override public List<TensorFunction<NAMETYPE>> arguments() { return List.of(argument); } + public List<TensorFunction<NAMETYPE>> selectorFunctions() { + var result = new ArrayList<TensorFunction<NAMETYPE>>(); + for (var dimVal : subspaceAddress) { + dimVal.index().ifPresent(fun -> fun.asTensorFunction().ifPresent(tf -> result.add(tf))); + } + return result; + } + @Override public Slice<NAMETYPE> withArguments(List<TensorFunction<NAMETYPE>> arguments) { if (arguments.size() != 1) |