Class 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 operator
      java.util.function.DoubleUnaryOperator asDoubleUnaryOperator()
      Returns this as a double unary operator
      java.util.List<ExpressionNode> children()
      Returns a read-only list containing the immediate children of this composite
      Value evaluate​(Context context)
      Evaluate this in a context which must have the arguments bound
      CompositeNode 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 java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • 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 class CompositeNode
        Returns:
        The children of this.
      • 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 class ExpressionNode
        Parameters:
        string - the StringBuilder that will be appended to
        context - the serialization context
        path - the call path to this, used for cycle detection, or null if this is a root
        parent - 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 class ExpressionNode
        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 class ExpressionNode
        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