Class TensorFunctionNode
- java.lang.Object
-
- com.yahoo.searchlib.rankingexpression.rule.ExpressionNode
-
- com.yahoo.searchlib.rankingexpression.rule.CompositeNode
-
- com.yahoo.searchlib.rankingexpression.rule.TensorFunctionNode
-
- All Implemented Interfaces:
Serializable
public class TensorFunctionNode extends CompositeNode
A node which performs a tensor function- Author:
- bratseth
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TensorFunctionNode.ExpressionTensorFunction
A tensor function implemented by an expression.
-
Constructor Summary
Constructors Constructor Description TensorFunctionNode(com.yahoo.tensor.functions.TensorFunction<Reference> function)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description List<ExpressionNode>
children()
Returns a read-only list containing the immediate children of this compositeValue
evaluate(Context context)
Returns the value of evaluating this expression over the given context.com.yahoo.tensor.functions.TensorFunction<Reference>
function()
Returns the tensor function wrapped by thisint
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.static TensorFunctionNode.ExpressionTensorFunction
wrap(ExpressionNode node)
static com.yahoo.tensor.functions.ScalarFunction<Reference>
wrapScalar(ExpressionNode node)
static void
wrapScalarBlock(com.yahoo.tensor.TensorType type, List<String> dimensionOrder, String mappedDimensionLabel, List<ExpressionNode> nodes, Map<com.yahoo.tensor.TensorAddress,com.yahoo.tensor.functions.ScalarFunction<Reference>> receivingMap)
static List<com.yahoo.tensor.functions.ScalarFunction<Reference>>
wrapScalars(com.yahoo.tensor.TensorType type, List<String> dimensionOrder, List<ExpressionNode> nodes)
static Map<com.yahoo.tensor.TensorAddress,com.yahoo.tensor.functions.ScalarFunction<Reference>>
wrapScalars(Map<com.yahoo.tensor.TensorAddress,ExpressionNode> nodes)
-
Methods inherited from class com.yahoo.searchlib.rankingexpression.rule.ExpressionNode
equals, toString, toString
-
-
-
-
Constructor Detail
-
TensorFunctionNode
public TensorFunctionNode(com.yahoo.tensor.functions.TensorFunction<Reference> function)
-
-
Method Detail
-
function
public com.yahoo.tensor.functions.TensorFunction<Reference> function()
Returns the tensor function wrapped by this
-
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)
Description copied from class:ExpressionNode
Returns the value of evaluating this expression over the given context.- Specified by:
evaluate
in classExpressionNode
- Parameters:
context
- the variable bindings to use for this evaluation
-
wrap
public static TensorFunctionNode.ExpressionTensorFunction wrap(ExpressionNode node)
-
wrapScalars
public static Map<com.yahoo.tensor.TensorAddress,com.yahoo.tensor.functions.ScalarFunction<Reference>> wrapScalars(Map<com.yahoo.tensor.TensorAddress,ExpressionNode> nodes)
-
wrapScalarBlock
public static void wrapScalarBlock(com.yahoo.tensor.TensorType type, List<String> dimensionOrder, String mappedDimensionLabel, List<ExpressionNode> nodes, Map<com.yahoo.tensor.TensorAddress,com.yahoo.tensor.functions.ScalarFunction<Reference>> receivingMap)
-
wrapScalars
public static List<com.yahoo.tensor.functions.ScalarFunction<Reference>> wrapScalars(com.yahoo.tensor.TensorType type, List<String> dimensionOrder, List<ExpressionNode> nodes)
-
wrapScalar
public static com.yahoo.tensor.functions.ScalarFunction<Reference> wrapScalar(ExpressionNode node)
-
hashCode
public int hashCode()
Description copied from class:ExpressionNode
Returns a hashcode computed from the data in this- Specified by:
hashCode
in classExpressionNode
-
-