diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-07-06 14:43:06 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-07-06 14:43:06 +0200 |
commit | 76cd21c9537a488537dc22cde13c08b137f54837 (patch) | |
tree | 1af678c0a1024a373c5b350d8a5eb9f673fcf1fa /searchlib | |
parent | f877ef25a7ba3943e8a79ac9df4ebdd2e80f9d45 (diff) |
Evaluation tests
Diffstat (limited to 'searchlib')
-rwxr-xr-x | searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java | 12 | ||||
-rw-r--r-- | searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/Value.java | 8 |
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>35,if(i>one,if(i>=670,4,8),if(i>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>35,if(i>one,if(i>=670,4,8),if(i>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); + } + } |