aboutsummaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/tensor/functions/Join.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-01-29 14:51:23 +0100
committerJon Bratseth <bratseth@oath.com>2018-01-29 14:51:23 +0100
commit1b4fde01d98bf724a54b6c1cfe3ffa4b29aec90e (patch)
tree20a127542b004eceb94e4d1344b3446df8092bd2 /vespajlib/src/main/java/com/yahoo/tensor/functions/Join.java
parent28e3545728977a0be82159b8f278be8e772cb59b (diff)
Propagate type information
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/tensor/functions/Join.java')
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Join.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Join.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Join.java
index 174a8e4c435..01c681bfb36 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Join.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Join.java
@@ -70,15 +70,13 @@ public class Join extends PrimitiveTensorFunction {
return typeBuilder.build();
}
- public TensorFunction argumentA() { return argumentA; }
- public TensorFunction argumentB() { return argumentB; }
public DoubleBinaryOperator combinator() { return combinator; }
@Override
- public List<TensorFunction> functionArguments() { return ImmutableList.of(argumentA, argumentB); }
+ public List<TensorFunction> arguments() { return ImmutableList.of(argumentA, argumentB); }
@Override
- public TensorFunction replaceArguments(List<TensorFunction> arguments) {
+ public TensorFunction withArguments(List<TensorFunction> arguments) {
if ( arguments.size() != 2)
throw new IllegalArgumentException("Join must have 2 arguments, got " + arguments.size());
return new Join(arguments.get(0), arguments.get(1), combinator);
@@ -95,6 +93,11 @@ public class Join extends PrimitiveTensorFunction {
}
@Override
+ public TensorType type(EvaluationContext context) {
+ return new TensorType.Builder(argumentA.type(context), argumentB.type(context)).build();
+ }
+
+ @Override
public Tensor evaluate(EvaluationContext context) {
Tensor a = argumentA.evaluate(context);
Tensor b = argumentB.evaluate(context);