IExpr
org.matheclipse.core.interfaces

Interface IExpr

    • Method Summary

      Methods 
      Modifier and TypeMethod and Description
      <T> Taccept(IVisitor<T> visitor)
      Accept a visitor with return type T
      booleanaccept(IVisitorBoolean visitor)
      Accept a visitor with return type boolean
      intaccept(IVisitorInt visitor)
      Accept a visitor with return type int
      IExprand(IExpr that) 
      IExprapply(IExpr... leaves) 
      IExprapply(List<? extends IExpr> leaves) 
      ObjectasType(Class clazz) 
      intcompareTo(IExpr obj)
      Compares this expression with the specified expression for order.
      IExprevaluate(EvalEngine engine)
      Evaluate an expression
      StringfullFormString()
      Return the FullForm of this expression
      IExprgetAt(int index)
      Get the element at the specified index if this object is of type IAST.
      IExprhead()
      If this object is an instance of IAST get the first element (offset 0) of the IAST list (i.e.
      inthierarchy()
      A unique integer ID for the implementation of this expression
      StringinternalFormString(boolean symbolsAsFactoryMethod, int depth)
      Return the internal Java form of this expression.
      IExprinverse()
      Returns the multiplicative inverse of this object.
      booleanisAnd()
      Test if this expression is the function And[<arg>,...]
      booleanisArcCos()
      Test if this expression is the function ArcCos[<arg>]
      booleanisArcCosh()
      Test if this expression is the function ArcCosh[<arg>]
      booleanisArcSin()
      Test if this expression is the function ArcSin[<arg>]
      booleanisArcSinh()
      Test if this expression is the function ArcSinh[<arg>]
      booleanisArcTan()
      Test if this expression is the function ArcTan[<arg>]
      booleanisArcTanh()
      Test if this expression is the function ArcTanh[<arg>]
      booleanisAST()
      Test if this expression is an AST list, which contains a header element (i.e.
      booleanisAST(IExpr header)
      Test if this expression is an AST list, which contains the given header element at index position 0 and some optional argument elements at the index positions 1..(size()-1).
      booleanisAST(IExpr header, int length)
      Test if this expression is an AST list, which contains the given header element at index position 0 and optional argument elements at the index positions 1..(length-1).
      booleanisAST(IExpr header, int length, IExpr... args)
      Test if this expression is an AST list, which contains the given header element at index position 0 and optional argument elements at the index positions 1..(length-1).
      booleanisAST(String symbol)
      Test if this expression is an AST list, where the string representation of the header element at index position 0 equals the given symbol and some optional argument elements at the index positions 1..(size()-1).
      booleanisAST(String symbol, int length)
      Test if this expression is an AST list, where the string representation of the header element at index position 0 equals the given symbol and some optional argument elements at the index positions 1..(length-1).
      booleanisASTSizeGE(IExpr header, int length)
      Test if this expression is an AST (i.e.
      booleanisAtom()
      Test if this expression is an atomic expression (i.e.
      booleanisComplex()
      Test if this expression is a symbolic complex number
      booleanisComplexInfinity()
      Test if this expression is representing ComplexInfinity (i.e.
      booleanisComplexNumeric()
      Test if this expression is a numeric complex number
      booleanisCondition()
      Test if this expression is the Condition function Condition[<arg1>, <arg2>]
      booleanisConstant()
      Test if this expression is a symbol with attribute Constant.
      booleanisCos()
      Test if this expression is the function Cos[<arg>]
      booleanisCosh()
      Test if this expression is the function Cosh[<arg>]
      booleanisDirectedInfinity()
      Test if this expression is representing a DirectedInfinity (i.e.
      booleanisFalse()
      Test if this expression equals the symbol "False"
      booleanisFlatAST()
      Test if this expression is an AST list, which contains a header element (i.e.
      booleanisFraction()
      Test if this expression is a fractional number, but no integer number.
      booleanisFree(IExpr pattern, boolean heads)
      Returns true, if all of the elements in the subexpressions or the expression itself, did not match the given pattern.
      booleanisFree(Predicate<IExpr> predicate, boolean heads)
      Returns true, if all of the elements in the subexpressions or the expression itself, did not satisfy the given unary predicate.
      booleanisFunction()
      Test if this expression is a Funtion[ arg1 ] expression with at least 1 argument.
      booleanisGEOrdered(IExpr obj)
      Compares this expression with the specified expression for order.
      booleanisGTOrdered(IExpr expr)
      Compares this expression with the specified expression for order.
      booleanisInfinity()
      Test if this expression is representing Infinity (i.e.
      booleanisInteger()
      Test if this expression is a integer number
      booleanisLEOrdered(IExpr obj)
      Compares this expression with the specified expression for order.
      booleanisList()
      Test if this expression is a list (i.e.
      booleanisListOfLists()
      Test if this expression is a list of lists
      booleanisLog()
      Test if this expression is the function Log[<arg>]
      booleanisLTOrdered(IExpr expr)
      Compares this expression with the specified expression for order.
      int[]isMatrix()
      Test if this expression is a matrix and return the dimensions as array [row-dimension, column-dimension].
      booleanisMember(IExpr pattern, boolean heads)
      Returns true, if at least one of the elements in the subexpressions or the expression itself, match the given pattern.
      booleanisMember(Predicate<IExpr> predicate, boolean heads)
      Returns true, if at least one of the elements in the subexpressions or the expression itself, satisfy the given unary predicate.
      booleanisMinusOne()
      Test if this expression equals -1 in symbolic or numeric mode.
      booleanisModule()
      Test if this expression is the Module function Module[<arg1>, <arg2>]
      booleanisNegative()
      Test if this object is a negative signed number.
      booleanisNegativeInfinity()
      Test if this expression is representing -Infinity (i.e.
      booleanisNot()
      Test if this expression is the function Not[<arg>]
      booleanisNumber()
      Test if this expression is a number
      booleanisNumEqualInteger(IInteger ii)
      Check if this expression equals an IInteger value.
      booleanisNumeric()
      Test if this expression is a numeric number (i.e.
      booleanisNumericFunction()
      Test if this expression is a numeric function (i.e.
      booleanisNumIntValue()
      Check if this expression represents an int value.
      booleanisOne()
      Test if this expression equals 1 in symbolic or numeric mode.
      booleanisOr()
      Test if this expression is the function Or[<arg>,...]
      booleanisOrderlessAST()
      Test if this expression is an AST list, which contains a header element (i.e.
      booleanisPattern()
      Test if this expression is a pattern object
      booleanisPatternExpr()
      Test if this expression or a subexpression is a pattern object.
      booleanisPatternSequence()
      Test if this expression is a pattern sequence object
      booleanisPlus()
      Test if this expression is the addition function Plus[<arg1>, <arg2>, ...]
      booleanisPositive()
      Test if this object is a positive signed number.
      booleanisPower()
      Test if this expression is the function Power[<arg1>, <arg2>]
      booleanisRational()
      Test if this expression is a rational number, i.e.
      booleanisRealFunction()
      Test if this expression is a real (non-complex) value (i.e.
      booleanisRuleAST()
      Test if this expression is of the form Rule[<arg1>, <arg2>] or RuleDelayed[<arg1>, <arg2>].
      booleanisSame(IExpr expression)
      Test if this expression equals the given expression.
      booleanisSame(IExpr expression, double epsilon)
      Test if this expression equals the given expression.
      booleanisSequence()
      Test if this expression is a sequence (i.e.
      booleanisSignedNumber()
      Test if this expression is a signed number
      booleanisSin()
      Test if this expression is the function Sin[<arg>]
      booleanisSinh()
      Test if this expression is the function Sinh[<arg>]
      booleanisSlot()
      Test if this expression is the function Slot[<integer-value>]
      booleanisSlotSequence()
      Test if this expression is the function SlotSequence[<integer-value>]
      booleanisSymbol()
      Test if this expression is a symbol
      booleanisTan()
      Test if this expression is the function TAn[<arg>]
      booleanisTanh()
      Test if this expression is the function Tanh[<arg>]
      booleanisTimes()
      Test if this expression is the multiplication function Times[<arg1>, <arg2>, ...]
      booleanisTrue()
      Test if this expression equals the symbol "True"
      booleanisValue()
      Returns true, if this symbol or ast expression is bound to a value (i.e.
      intisVector()
      Test if this expression is a vector and return the dimension of the vector.
      booleanisZero()
      Test if this expression equals 0 in symbolic or numeric mode.
      List<IExpr>leaves() 
      IExprminus(IExpr that) 
      IExprmod(IExpr that) 
      IExprmultiply(IExpr that)
      Multiply this with S.
      IExprnegative() 
      IExpror(IExpr that) 
      IExprplus(IExpr that) 
      IExprpower(IExpr that) 
      IExprpower(Integer n) 
      IExprreplaceAll(Function<IExpr,IExpr> function)
      Replace all (sub-) expressions with the given unary function.
      IExprreplaceAll(IAST astRules)
      Replace all (sub-) expressions with the given rule set.
      IExprreplacePart(IAST astRules) 
      IExprreplaceRepeated(Function<IExpr,IExpr> function)
      Repeatedly replace all (sub-) expressions with the given unary function.
      IExprreplaceRepeated(IAST astRules)
      Repeatedly replace all (sub-) expressions with the given rule set.
      IExprreplaceSlots(IAST astSlots) 
      intsignum()
      Deprecated.  
      IExprtimes(IExpr that)
      Returns the product of this object with the one specified.
      ISymboltopHead() 
      IExprvariables2Slots(Map<IExpr,IExpr> map, List<IExpr> variableList)
      Convert the variables (i.e.
    • Method Detail

      • accept

        <T> T accept(IVisitor<T> visitor)
        Accept a visitor with return type T
      • accept

        boolean accept(IVisitorBoolean visitor)
        Accept a visitor with return type boolean
      • accept

        int accept(IVisitorInt visitor)
        Accept a visitor with return type int
        Parameters:
        visitor -
        Returns:
      • apply

        IExpr apply(IExpr... leaves)
        Parameters:
        leaves -
        Returns:
        an IExpr instance with the current expression as head(), and leaves as leaves().
      • apply

        IExpr apply(List<? extends IExpr> leaves)
        Parameters:
        leaves -
        Returns:
        an IExpr instance with the current expression as head(), and leaves as leaves().
      • compareTo

        int compareTo(IExpr obj)
        Compares this expression with the specified expression for order. Returns a negative integer, zero, or a positive integer as this expression is canonical less than, equal to, or greater than the specified expression.
        Specified by:
        compareTo in interface Comparable<IExpr>
        Specified by:
        compareTo in interface Element<IExpr>
        Returns:
        0 if this is equal to b, -1 if this is less then b, else +1.
      • evaluate

        IExpr evaluate(EvalEngine engine)
        Evaluate an expression
        Parameters:
        engine - the evaluation engine
        Returns:
        the evaluated Object or null if the evaluation is not possible (i.e. the evaluation doesn\'t change the object).
      • fullFormString

        String fullFormString()
        Return the FullForm of this expression
      • getAt

        IExpr getAt(int index)
        Get the element at the specified index if this object is of type IAST.
        Parameters:
        index -
        Returns:
      • head

        IExpr head()
        If this object is an instance of IAST get the first element (offset 0) of the IAST list (i.e. get(0) ).
        Returns:
        the head of the expression, which must not be null.
      • hierarchy

        int hierarchy()
        A unique integer ID for the implementation of this expression
        Returns:
        a unique integer id for the implementation of this expression
      • internalFormString

        String internalFormString(boolean symbolsAsFactoryMethod,                        int depth)
        Return the internal Java form of this expression.
        Parameters:
        symbolsAsFactoryMethod - if true use the F.symbol() method, otherwise print the symbol name.
        depth - the recursion depth of this call. 0 indicates "recurse without a limit".
      • inverse

        IExpr inverse()
        Returns the multiplicative inverse of this object. It is the object such as this.times(this.inverse()) == ONE , with ONE being the multiplicative identity.
        Specified by:
        inverse in interface MonoidElem<IExpr>
        Returns:
        ONE / this.
      • isAnd

        boolean isAnd()
        Test if this expression is the function And[<arg>,...]
      • isArcCos

        boolean isArcCos()
        Test if this expression is the function ArcCos[<arg>]
      • isArcCosh

        boolean isArcCosh()
        Test if this expression is the function ArcCosh[<arg>]
      • isArcSin

        boolean isArcSin()
        Test if this expression is the function ArcSin[<arg>]
      • isArcSinh

        boolean isArcSinh()
        Test if this expression is the function ArcSinh[<arg>]
      • isArcTan

        boolean isArcTan()
        Test if this expression is the function ArcTan[<arg>]
      • isArcTanh

        boolean isArcTanh()
        Test if this expression is the function ArcTanh[<arg>]
      • isAST

        boolean isAST()
        Test if this expression is an AST list, which contains a header element (i.e. the function name) at index position 0 and some optional argument elements at the index positions 1..n. Therefore this expression is no atomic expression.
        See Also:
        isAtom()
      • isOrderlessAST

        boolean isOrderlessAST()
        Test if this expression is an AST list, which contains a header element (i.e. a function symbol like for example Plus or Times) with attribute Orderless at index position 0 and some optional argument elements at the index positions 1..n. Examples for Orderless functions are Plus[] or Times[]. Therefore this expression is no atomic expression.
        See Also:
        isAtom()
      • isFlatAST

        boolean isFlatAST()
        Test if this expression is an AST list, which contains a header element (i.e. a function symbol like for example Dot, Plus or Times) with attribute Flat at index position 0 and some optional argument elements at the index positions 1..(size()-1). Examples for Flat functions are Dot[], Plus[] or Times[]. Therefore this expression is no atomic expression.
        See Also:
        isAtom()
      • isAST

        boolean isAST(IExpr header)
        Test if this expression is an AST list, which contains the given header element at index position 0 and some optional argument elements at the index positions 1..(size()-1). Therefore this expression is not an atomic expression.
        See Also:
        isAtom()
      • isAST

        boolean isAST(IExpr header,            int length)
        Test if this expression is an AST list, which contains the given header element at index position 0 and optional argument elements at the index positions 1..(length-1). Therefore this expression is not an atomic expression.
        See Also:
        isAtom()
      • isAST

        boolean isAST(IExpr header,            int length,            IExpr... args)
        Test if this expression is an AST list, which contains the given header element at index position 0 and optional argument elements at the index positions 1..(length-1). Therefore this expression is not an atomic expression.
        Parameters:
        args - the arguments of this AST which should be tested, if they are equal, a null value argument skips the equals chack.
        See Also:
        isAtom()
      • isAST

        boolean isAST(String symbol)
        Test if this expression is an AST list, where the string representation of the header element at index position 0 equals the given symbol and some optional argument elements at the index positions 1..(size()-1). Therefore this expression is no atomic expression. Example: isAST("Sin") gives true for Sin[Pi/2].
        See Also:
        isAtom()
      • isAST

        boolean isAST(String symbol,            int length)
        Test if this expression is an AST list, where the string representation of the header element at index position 0 equals the given symbol and some optional argument elements at the index positions 1..(length-1). Therefore this expression is no atomic expression. Example: isAST("Sin", 2) gives true for Sin[0].
        See Also:
        isAtom()
      • isASTSizeGE

        boolean isASTSizeGE(IExpr header,                  int length)
        Test if this expression is an AST (i.e. no atomic expression) with the given head expression and size of elements greater equal than the AST#size() Test if this expression is an AST list, which contains the given header element at index position 0 and optional argument elements at the index positions 1..n. n must be greater equal than the given length. Therefore this expression is no atomic expression.
        See Also:
        isAtom()
      • isAtom

        boolean isAtom()
        Test if this expression is an atomic expression (i.e. no AST expression)
      • isComplex

        boolean isComplex()
        Test if this expression is a symbolic complex number
      • isComplexNumeric

        boolean isComplexNumeric()
        Test if this expression is a numeric complex number
      • isConstant

        boolean isConstant()
        Test if this expression is a symbol with attribute Constant. Therefore numbers return false for this method!
        See Also:
        isRealFunction(), isNumericFunction()
      • isComplexInfinity

        boolean isComplexInfinity()
        Test if this expression is representing ComplexInfinity (i.e. DirectedInfinity[])
      • isDirectedInfinity

        boolean isDirectedInfinity()
        Test if this expression is representing a DirectedInfinity (i.e. Infinity->DirectedInfinity[1], -Infinity->DirectedInfinity[-1], ComplexInfinity->DirectedInfinity[])
      • isInfinity

        boolean isInfinity()
        Test if this expression is representing Infinity (i.e. Infinity->DirectedInfinity[1])
      • isNegative

        boolean isNegative()
        Test if this object is a negative signed number.
        Returns:
        true, if this < 0; false in all other case.
      • isNegativeInfinity

        boolean isNegativeInfinity()
        Test if this expression is representing -Infinity (i.e. -Infinity->DirectedInfinity[-1])
      • isCos

        boolean isCos()
        Test if this expression is the function Cos[<arg>]
      • isCosh

        boolean isCosh()
        Test if this expression is the function Cosh[<arg>]
      • isFalse

        boolean isFalse()
        Test if this expression equals the symbol "False"
      • isFraction

        boolean isFraction()
        Test if this expression is a fractional number, but no integer number.
      • isFree

        boolean isFree(IExpr pattern,             boolean heads)
        Returns true, if all of the elements in the subexpressions or the expression itself, did not match the given pattern.
        Parameters:
        pattern - a pattern-matching expression
        heads - if set to false, only the arguments of an IAST should be tested and not the Head[] element.
      • isFree

        boolean isFree(Predicate<IExpr> predicate,             boolean heads)
        Returns true, if all of the elements in the subexpressions or the expression itself, did not satisfy the given unary predicate.
        Parameters:
        predicate - a unary predicate
        heads - if set to false, only the arguments of an IAST should be tested and not the Head[] element.
      • isMember

        boolean isMember(IExpr pattern,               boolean heads)
        Returns true, if at least one of the elements in the subexpressions or the expression itself, match the given pattern.
        Parameters:
        pattern - a pattern-matching expression
        heads - if set to false, only the arguments of an IAST should be tested and not the Head[] element.
      • isMember

        boolean isMember(Predicate<IExpr> predicate,               boolean heads)
        Returns true, if at least one of the elements in the subexpressions or the expression itself, satisfy the given unary predicate.
        Parameters:
        predicate - a unary predicate
        heads - if set to false, only the arguments of an IAST should be tested and not the Head[] element.
      • isFunction

        boolean isFunction()
        Test if this expression is a Funtion[ arg1 ] expression with at least 1 argument.
      • isGEOrdered

        boolean isGEOrdered(IExpr obj)
        Compares this expression with the specified expression for order. Returns true if this expression is canonical greater than or equal to the specified expression (<= relation).
        Parameters:
        expr - an expression to compare with
        Returns:
        true if this expression is canonical greater than or equal to the specified expression.
      • isGTOrdered

        boolean isGTOrdered(IExpr expr)
        Compares this expression with the specified expression for order. Returns true if this expression is canonical greater than the specified expression (< relation).
        Parameters:
        expr - an expression to compare with
        Returns:
        true if this expression is canonical greater than the specified expression.
      • isInteger

        boolean isInteger()
        Test if this expression is a integer number
      • isNumIntValue

        boolean isNumIntValue()
        Check if this expression represents an int value. The value of an INum object can be an int value.
        Returns:
      • isNumEqualInteger

        boolean isNumEqualInteger(IInteger ii)                          throws ArithmeticException
        Check if this expression equals an IInteger value. The value of an INum or the value of an IInteger object can be an IInteger value.
        Returns:
        Throws:
        ArithmeticException
      • isLEOrdered

        boolean isLEOrdered(IExpr obj)
        Compares this expression with the specified expression for order. Returns true if this expression is canonical less than or equal to the specified expression (<= relation).
        Parameters:
        expr - an expression to compare with
        Returns:
        true if this expression is canonical less than or equal to the specified expression.
      • isList

        boolean isList()
        Test if this expression is a list (i.e. an AST with head List)
      • isSequence

        boolean isSequence()
        Test if this expression is a sequence (i.e. an AST with head Sequence)
      • isLog

        boolean isLog()
        Test if this expression is the function Log[<arg>]
      • isLTOrdered

        boolean isLTOrdered(IExpr expr)
        Compares this expression with the specified expression for order. Returns true if this expression is canonical less than the specified expression (< relation).
        Parameters:
        expr - an expression to compare with
        Returns:
        true if this expression is canonical less than the specified expression.
      • isMatrix

        int[] isMatrix()
        Test if this expression is a matrix and return the dimensions as array [row-dimension, column-dimension]. This expression is only a matrix, if all elements are lists with the header List and have the same size.
        Returns:
        null if the expression is not a matrix
      • isNot

        boolean isNot()
        Test if this expression is the function Not[<arg>]
      • isNumber

        boolean isNumber()
        Test if this expression is a number
      • isOne

        boolean isOne()
        Test if this expression equals 1 in symbolic or numeric mode.
      • isOr

        boolean isOr()
        Test if this expression is the function Or[<arg>,...]
      • isMinusOne

        boolean isMinusOne()
        Test if this expression equals -1 in symbolic or numeric mode.
      • isPlus

        boolean isPlus()
        Test if this expression is the addition function Plus[<arg1>, <arg2>, ...]
      • isPattern

        boolean isPattern()
        Test if this expression is a pattern object
      • isPatternExpr

        boolean isPatternExpr()
        Test if this expression or a subexpression is a pattern object. Used in pattern-matching; checks flags in IAST with flag IAST.CONTAINS_PATTERN_EXPR.
      • isPatternSequence

        boolean isPatternSequence()
        Test if this expression is a pattern sequence object
      • isPositive

        boolean isPositive()
        Test if this object is a positive signed number.
        Returns:
        true, if this > 0; false in all other case.
      • isCondition

        boolean isCondition()
        Test if this expression is the Condition function Condition[<arg1>, <arg2>]
      • isModule

        boolean isModule()
        Test if this expression is the Module function Module[<arg1>, <arg2>]
      • isPower

        boolean isPower()
        Test if this expression is the function Power[<arg1>, <arg2>]
      • isRational

        boolean isRational()
        Test if this expression is a rational number, i.e. integer or fraction number.
      • isRuleAST

        boolean isRuleAST()
        Test if this expression is of the form Rule[<arg1>, <arg2>] or RuleDelayed[<arg1>, <arg2>].
      • isSame

        boolean isSame(IExpr expression)
        Test if this expression equals the given expression. If the compared expressions are of the same numeric type, they are equal to a given EPSILON
      • isSame

        boolean isSame(IExpr expression,             double epsilon)
        Test if this expression equals the given expression. If the compared expressions are of the same numeric type, they are equal to a given EPSILON
      • isSignedNumber

        boolean isSignedNumber()
        Test if this expression is a signed number
      • isNumeric

        boolean isNumeric()
        Test if this expression is a numeric number (i.e. of type INum or IComplexNum.
      • isNumericFunction

        boolean isNumericFunction()
        Test if this expression is a numeric function (i.e. a number, a symbolic constant or a function (with attribute NumericFunction) where all arguments are also "numeric functions")
        Returns:
        true, if the given expression is a numeric function or value.
        See Also:
        isRealFunction()
      • isRealFunction

        boolean isRealFunction()
        Test if this expression is a real (non-complex) value (i.e. a real number or a real symbolic constant or a Plus, Times expression with only real values)
        Returns:
        true, if the given expression is a real (non-complex) value.
        See Also:
        isConstant(), isNumericFunction()
      • isSin

        boolean isSin()
        Test if this expression is the function Sin[<arg>]
      • isSinh

        boolean isSinh()
        Test if this expression is the function Sinh[<arg>]
      • isSlot

        boolean isSlot()
        Test if this expression is the function Slot[<integer-value>]
      • isSlotSequence

        boolean isSlotSequence()
        Test if this expression is the function SlotSequence[<integer-value>]
      • isSymbol

        boolean isSymbol()
        Test if this expression is a symbol
      • isTan

        boolean isTan()
        Test if this expression is the function TAn[<arg>]
      • isTanh

        boolean isTanh()
        Test if this expression is the function Tanh[<arg>]
      • isTimes

        boolean isTimes()
        Test if this expression is the multiplication function Times[<arg1>, <arg2>, ...]
      • isTrue

        boolean isTrue()
        Test if this expression equals the symbol "True"
      • isValue

        boolean isValue()
        Returns true, if this symbol or ast expression is bound to a value (i.e. the evaluation returns an assigned value).
      • isVector

        int isVector()
        Test if this expression is a vector and return the dimension of the vector. This expression is only a vector, if the expression is a List(...) and no element is itself a List(...).
        Returns:
        -1 if the expression is no vector or size()-1 of the corresponding IAST.
      • isZero

        boolean isZero()
        Test if this expression equals 0 in symbolic or numeric mode.
      • leaves

        List<IExpr> leaves()
        Returns:
        a list of the the leaf expressions. Instances of ExprImpl should return null, while any other expression may not return null (but can return an empty list).
      • negative

        IExpr negative()
      • replaceAll

        @NullableIExpr replaceAll(Function<IExpr,IExpr> function)
        Replace all (sub-) expressions with the given unary function. If no substitution matches, the method returns null.
        Parameters:
        function - if the unary functions apply() method returns null the expression isn\'t substituted.
        Returns:
        null if no substitution of a (sub-)expression was possible.
      • replaceAll

        @NullableIExpr replaceAll(IAST astRules)
        Replace all (sub-) expressions with the given rule set. If no substitution matches, the method returns null.
        Parameters:
        astRules - rules of the form x->y or {a->b, c->d}; the left-hand-side of the rule can contain pattern objects.
        Returns:
        null if no substitution of a (sub-)expression was possible.
      • replacePart

        IExpr replacePart(IAST astRules)
      • replaceRepeated

        IExpr replaceRepeated(Function<IExpr,IExpr> function)
        Repeatedly replace all (sub-) expressions with the given unary function. If no substitution matches, the method returns this.
        Parameters:
        function - if the unary functions apply() method returns null the expression isn\'t substituted.
        Returns:
        this if no substitution of a (sub-)expression was possible.
      • replaceRepeated

        IExpr replaceRepeated(IAST astRules)
        Repeatedly replace all (sub-) expressions with the given rule set. If no substitution matches, the method returns this.
        Parameters:
        astRules - rules of the form x->y or {a->b, c->d}; the left-hand-side of the rule can contain pattern objects.
        Returns:
        this if no substitution of a (sub-)expression was possible.
      • replaceSlots

        IExpr replaceSlots(IAST astSlots)
      • signum

        @Deprecatedint signum()
        Deprecated. 
        Signum functionality is used in JAS toString() method, don\'t use it as math signum function.
        Specified by:
        signum in interface AbelianGroupElem<IExpr>
        Returns:
        the sign of this.
      • times

        IExpr times(IExpr that)
        Returns the product of this object with the one specified.
        Parameters:
        that - the object multiplier.
        Returns:
        this \xc2\xb7 that.
      • topHead

        ISymbol topHead()
        Returns:
        the \'highest level\' head of the expression, before Symbol, Integer, Real or String. for example while the head of a[b][c] is a[b], the top head is a.
      • variables2Slots

        IExpr variables2Slots(Map<IExpr,IExpr> map,                    List<IExpr> variableList)
        Convert the variables (i.e. ISymbol\'s with lower case character in the 0-th position of their name) in this expression into Slot[] s.
        Returns:
        null if the expression contains a variable with a \'$\' character in the 0-th position of its name and the math engine runs in server mode.

SCaVis 2.1 © jWork.ORG