diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-11-24 14:18:01 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-11-24 14:18:01 +0100 |
commit | cb2dc3460fa31dffb51e54847283038e8a0ae93c (patch) | |
tree | e96497fe6b167f8867ad9cb225ea979a6e09dab8 /searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/TensorValue.java | |
parent | 437a2dc519cc991302c01acb8cd1df1e96b1283d (diff) |
Implement composite functions
Diffstat (limited to 'searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/TensorValue.java')
-rw-r--r-- | searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/TensorValue.java | 12 |
1 files changed, 12 insertions, 0 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 f559f8adaf5..dc422f2c8da 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 @@ -97,6 +97,14 @@ public class TensorValue extends Value { return new TensorValue(value.max(asTensor(argument, "max"))); } + public Value atan2(Value argument) { + return new TensorValue(value.atan2(asTensor(argument, "atan2"))); + } + + public Value equal(Value argument) { + return new TensorValue(value.equal(asTensor(argument, "equal"))); + } + public Value sum(String dimension) { return new TensorValue(value.sum(Collections.singletonList(dimension))); } @@ -129,6 +137,10 @@ public class TensorValue extends Value { return min(argument); else if (function.equals(Function.max) && argument instanceof TensorValue) return max(argument); + else if (function.equals(Function.atan2) && argument instanceof TensorValue) + return atan2(argument); + else if (function.equals(Function.equal) && argument instanceof TensorValue) + return equal(argument); else return new TensorValue(value.map((value) -> function.evaluate(value, argument.asDouble()))); } |