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:
Serializable
public class LambdaFunctionNode extends CompositeNode
A free, parametrized function- Author:
- bratseth
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description LambdaFunctionNode(List<String> arguments, ExpressionNode functionExpression)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DoubleBinaryOperator
asDoubleBinaryOperator()
Returns this as a double binary operatorDoubleUnaryOperator
asDoubleUnaryOperator()
Returns this as a double unary operatorList<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 boundint
hashCode()
Returns a hashcode computed from the data in thisCompositeNode
setChildren(List<ExpressionNode> children)
Returns a copy of this where the children is replaced by the given children.StringBuilder
toString(StringBuilder string, SerializationContext context, Deque<String> path, CompositeNode parent)
Returns this in serialized form.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, toString, toString
-
-
-
-
Constructor Detail
-
LambdaFunctionNode
public LambdaFunctionNode(List<String> arguments, ExpressionNode functionExpression)
-
-
Method Detail
-
children
public 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(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 StringBuilder toString(StringBuilder string, SerializationContext context, Deque<String> path, CompositeNode parent)
Description copied from class:ExpressionNode
Returns this in serialized form.- 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 is 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 DoubleUnaryOperator asDoubleUnaryOperator()
Returns this as a double unary operator- Throws:
IllegalStateException
- if this has more than one argument
-
asDoubleBinaryOperator
public DoubleBinaryOperator asDoubleBinaryOperator()
Returns this as a double binary operator- Throws:
IllegalStateException
- if this has more than two arguments
-
hashCode
public int hashCode()
Description copied from class:ExpressionNode
Returns a hashcode computed from the data in this- Specified by:
hashCode
in classExpressionNode
-
-