summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-02-07 11:36:29 +0100
committerJon Bratseth <bratseth@oath.com>2018-02-07 11:36:29 +0100
commit7a93c547d5ace99b5099900cd72ee4c3d039fddd (patch)
tree23048a709993d7149d736871b3d7b4f96497f0f1 /searchlib
parent7793bb9696fb1248ec03eed5ee7b3f5372404a5b (diff)
Switch between number and tensor treatment based on type().rank
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/TensorValue.java2
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/transform/ConstantDereferencer.java4
2 files changed, 3 insertions, 3 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/TensorValue.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/TensorValue.java
index c6e456f285d..ee66dcc5a03 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/TensorValue.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/TensorValue.java
@@ -26,7 +26,7 @@ public class TensorValue extends Value {
}
@Override
- public TensorType type() { return TensorType.empty; }
+ public TensorType type() { return value.type(); }
@Override
public double asDouble() {
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/transform/ConstantDereferencer.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/transform/ConstantDereferencer.java
index 9cd4f4dced9..06d5ad187d8 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/transform/ConstantDereferencer.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/transform/ConstantDereferencer.java
@@ -45,8 +45,8 @@ public class ConstantDereferencer extends ExpressionTransformer<TransformContext
private ExpressionNode transformConstantReference(ReferenceNode node, TransformContext context) {
Value value = context.constants().get(node.getName());
- if (value == null || (value instanceof TensorValue)) {
- return node; // not a value constant reference
+ if (value == null || value.type().rank() > 0) {
+ return node; // not a number constant reference
}
return new ConstantNode(value.freeze());
}