Class LambdaFunctionNode
- java.lang.Object
-
- com.yahoo.searchlib.rankingexpression.rule.ExpressionNode
-
- com.yahoo.searchlib.rankingexpression.rule.CompositeNode
-
- com.yahoo.searchlib.rankingexpression.rule.LambdaFunctionNode
-
- All Implemented Interfaces:
java.io.Serializable
public class LambdaFunctionNode extends CompositeNode
A free, parametrized function- Author:
- bratseth
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description LambdaFunctionNode(java.util.List<java.lang.String> arguments, ExpressionNode functionExpression)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.function.DoubleBinaryOperator
asDoubleBinaryOperator()
Returns this as a double binary operatorjava.util.function.DoubleUnaryOperator
asDoubleUnaryOperator()
Returns this as a double unary operatorjava.util.List<ExpressionNode>
children()
Returns a read-only list containing the immediate children of this compositeValue
evaluate(Context context)
Evaluate this in a context which must have the arguments boundCompositeNode
setChildren(java.util.List<ExpressionNode> children)
Returns a copy of this where the children is replaced by the given children.java.lang.StringBuilder
toString(java.lang.StringBuilder string, SerializationContext context, java.util.Deque<java.lang.String> path, CompositeNode parent)
Returns a script instance of this based on the supplied script functions.com.yahoo.tensor.TensorType
type(com.yahoo.tensor.evaluation.TypeContext<Reference> context)
Returns the type this will return if evaluated with the given context.-
Methods inherited from class com.yahoo.searchlib.rankingexpression.rule.ExpressionNode
equals, hashCode, toString, toString
-
-
-
-
Constructor Detail
-
LambdaFunctionNode
public LambdaFunctionNode(java.util.List<java.lang.String> arguments, ExpressionNode functionExpression)
-
-
Method Detail
-
children
public java.util.List<ExpressionNode> children()
Description copied from class:CompositeNode
Returns a read-only list containing the immediate children of this composite
- Specified by:
children
in classCompositeNode
- Returns:
- The children of this.
-
setChildren
public CompositeNode setChildren(java.util.List<ExpressionNode> children)
Description copied from class:CompositeNode
Returns a copy of this where the children is replaced by the given children.- Specified by:
setChildren
in classCompositeNode
-
toString
public java.lang.StringBuilder toString(java.lang.StringBuilder string, SerializationContext context, java.util.Deque<java.lang.String> path, CompositeNode parent)
Description copied from class:ExpressionNode
Returns a script instance of this based on the supplied script functions.- Specified by:
toString
in classExpressionNode
- Parameters:
string
- the StringBuilder that will be appended tocontext
- the serialization contextpath
- the call path to this, used for cycle detection, or null if this is a rootparent
- the parent node of this, or null if it a root- Returns:
- the main script, referring to script instances.
-
type
public com.yahoo.tensor.TensorType type(com.yahoo.tensor.evaluation.TypeContext<Reference> context)
Description copied from class:ExpressionNode
Returns the type this will return if evaluated with the given context.- Specified by:
type
in classExpressionNode
- Parameters:
context
- the variable type bindings to use for this evaluation
-
evaluate
public Value evaluate(Context context)
Evaluate this in a context which must have the arguments bound- Specified by:
evaluate
in classExpressionNode
- Parameters:
context
- the variable bindings to use for this evaluation
-
asDoubleUnaryOperator
public java.util.function.DoubleUnaryOperator asDoubleUnaryOperator()
Returns this as a double unary operator- Throws:
java.lang.IllegalStateException
- if this has more than one argument
-
asDoubleBinaryOperator
public java.util.function.DoubleBinaryOperator asDoubleBinaryOperator()
Returns this as a double binary operator- Throws:
java.lang.IllegalStateException
- if this has more than two arguments
-
-