summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-07-06 14:43:06 +0200
committerJon Bratseth <bratseth@oath.com>2018-07-06 14:43:06 +0200
commit76cd21c9537a488537dc22cde13c08b137f54837 (patch)
tree1af678c0a1024a373c5b350d8a5eb9f673fcf1fa /searchlib
parentf877ef25a7ba3943e8a79ac9df4ebdd2e80f9d45 (diff)
Evaluation tests
Diffstat (limited to 'searchlib')
-rwxr-xr-xsearchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java12
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/Value.java8
2 files changed, 14 insertions, 6 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java
index 6fa5b1196fa..aec5b2367bf 100755
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java
@@ -57,10 +57,10 @@ ArrayContext contextPrototype;
// Create reusable, gbdt optimized expression and context.
// The expression is multithread-safe while the context created is not
try {
- RankingExpression expression=new RankingExpression("10*if(i&gt;35,if(i&gt;one,if(i&gt;=670,4,8),if(i&gt;8000,5,3)),if(i==478,90,91))");
- ArrayContext contextPrototype=new ArrayContext(expression);
- ExpressionOptimizer optimizer=new ExpressionOptimizer(); // Increases evaluation speed of gbdt form expressions by 3-4x
- OptimizationReport triviaAboutTheOptimization=optimizer.optimize(expression,contextPrototype);
+ RankingExpression expression = new RankingExpression("10*if(i&gt;35,if(i&gt;one,if(i&gt;=670,4,8),if(i&gt;8000,5,3)),if(i==478,90,91))");
+ ArrayContext contextPrototype = new ArrayContext(expression);
+ ExpressionOptimizer optimizer = new ExpressionOptimizer(); // Increases evaluation speed of gbdt form expressions by 3-4x
+ OptimizationReport triviaAboutTheOptimization = optimizer.optimize(expression,contextPrototype);
}
catch (ParseException e) {
throw new RuntimeException(e);
@@ -69,9 +69,9 @@ catch (ParseException e) {
...
// Execution (many)
-context=contextPrototype.clone(); // If evaluation is multithreaded - skip this if execution is single-threaded
+context = contextPrototype.clone(); // If evaluation is multithreaded - skip this if execution is single-threaded
context.put("one",1d);
-double result=expression.evaluate(context);
+double result = expression.evaluate(context);
</code></pre>
*
* @author Simon Thoresen
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/Value.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/Value.java
index e5a9e6a5ef1..7809cdd4e1b 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/Value.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/Value.java
@@ -115,4 +115,12 @@ public abstract class Value {
return new DoubleValue(Double.parseDouble(value));
}
+ public static Value of(Tensor tensor) {
+ return new TensorValue(tensor);
+ }
+
+ public static Value of(double scalar) {
+ return new DoubleValue(scalar);
+ }
+
}