summaryrefslogtreecommitdiffstats
path: root/vespajlib
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-12-02 15:48:02 +0100
committerJon Bratseth <bratseth@verizonmedia.com>2019-12-02 15:48:02 +0100
commit78b29e76f2bab63f7cec92f4c1fd9e7661602df7 (patch)
treee0bcea596a5666f49c4144d3a30ff10ef6430968 /vespajlib
parent29b03a9b6eb3887bce0d7d8a86dddce92d830cd9 (diff)
Output function references wrapped in rankingExpression()
Diffstat (limited to 'vespajlib')
-rw-r--r--vespajlib/abi-spec.json3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/DynamicTensor.java4
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/ScalarFunction.java4
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Value.java14
4 files changed, 14 insertions, 11 deletions
diff --git a/vespajlib/abi-spec.json b/vespajlib/abi-spec.json
index cefdbb09b7a..8aca75ac1be 100644
--- a/vespajlib/abi-spec.json
+++ b/vespajlib/abi-spec.json
@@ -2526,7 +2526,8 @@
"public java.util.Optional dimension()",
"public java.util.Optional label()",
"public java.util.Optional index()",
- "public java.lang.String toString()"
+ "public java.lang.String toString()",
+ "public java.lang.String toString(com.yahoo.tensor.functions.ToStringContext)"
],
"fields": []
},
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/DynamicTensor.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/DynamicTensor.java
index 416940a60eb..0a496cda5d9 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/DynamicTensor.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/DynamicTensor.java
@@ -83,7 +83,7 @@ public abstract class DynamicTensor<NAMETYPE extends Name> extends PrimitiveTens
String contentToString(ToStringContext context) {
if (type().dimensions().isEmpty()) {
if (cells.isEmpty()) return "{}";
- return "{" + cells.values().iterator().next() + "}";
+ return "{" + cells.values().iterator().next().toString(context) + "}";
}
StringBuilder b = new StringBuilder("{");
@@ -124,7 +124,7 @@ public abstract class DynamicTensor<NAMETYPE extends Name> extends PrimitiveTens
String contentToString(ToStringContext context) {
if (type().dimensions().isEmpty()) {
if (cells.isEmpty()) return "{}";
- return "{" + cells.get(0) + "}";
+ return "{" + cells.get(0).toString(context) + "}";
}
IndexedTensor.Indexes indexes = IndexedTensor.Indexes.of(type());
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/ScalarFunction.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/ScalarFunction.java
index 07b3658fb58..ec579a90e4f 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/ScalarFunction.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/ScalarFunction.java
@@ -16,8 +16,6 @@ public interface ScalarFunction<NAMETYPE extends Name> extends Function<Evaluati
@Override
Double apply(EvaluationContext<NAMETYPE> context);
- default String toString(ToStringContext context) {
- return toString();
- }
+ default String toString(ToStringContext context) { return toString(); }
}
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Value.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Value.java
index fff9862279c..37a54807673 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Value.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Value.java
@@ -78,15 +78,15 @@ public class Value<NAMETYPE extends Name> extends PrimitiveTensorFunction<NAMETY
@Override
public String toString(ToStringContext context) {
- StringBuilder b = new StringBuilder(argument.toString());
+ StringBuilder b = new StringBuilder(argument.toString(context));
if (cellAddress.size() == 1 && cellAddress.get(0).dimension().isEmpty()) {
if (cellAddress.get(0).index().isPresent())
- b.append("[").append(cellAddress.get(0).index().get()).append("]");
+ b.append("[").append(cellAddress.get(0).index().get().toString(context)).append("]");
else
- b.append("{").append(cellAddress.get(0).label()).append("}");
+ b.append("{").append(cellAddress.get(0).label().get()).append("}");
}
else {
- b.append("{").append(cellAddress.stream().map(i -> i.toString()).collect(Collectors.joining(", "))).append("}");
+ b.append("{").append(cellAddress.stream().map(i -> i.toString(context)).collect(Collectors.joining(", "))).append("}");
}
return b.toString();
}
@@ -153,12 +153,16 @@ public class Value<NAMETYPE extends Name> extends PrimitiveTensorFunction<NAMETY
@Override
public String toString() {
+ return toString(null);
+ }
+
+ public String toString(ToStringContext context) {
StringBuilder b = new StringBuilder();
dimension.ifPresent(d -> b.append(d).append(":"));
if (label != null)
b.append(label);
else
- b.append(index);
+ b.append(index.toString(context));
return b.toString();
}