public class AST0 extends AbstractAST implements java.util.List<IExpr>, java.lang.Cloneable, java.io.Externalizable, java.util.RandomAccess
Immutable (A)bstract (S)yntax (T)ree of a given function with no argument.
 In Symja, an abstract syntax tree (AST), is a tree representation of the
 abstract syntactic structure of the Symja source code. Each node of the tree
 denotes a construct occurring in the source code. The syntax is 'abstract' in
 the sense that it does not represent every detail that appears in the real
 syntax. For instance, grouping parentheses are implicit in the tree
 structure, and a syntactic construct such as a Sin[x] expression
 will be denoted by an AST with 2 nodes. One node for the header
 Sin and one node for the argument x.
 
java.util.List which
 contains
 0 andn arguments of a function in the index
 1 to nAST, 
Serialized FormAbstractAST.ASTIteratorIAST.PROPERTY| Modifier and Type | Field and Description | 
|---|---|
protected IExpr | 
arg0
The head of this function. 
 | 
fEvalFlags, hashValueCONTAINS_DEFAULT_PATTERN, CONTAINS_NO_DEFAULT_PATTERN_MASK, CONTAINS_NO_PATTERN, CONTAINS_PATTERN, CONTAINS_PATTERN_EXPR, CONTAINS_PATTERN_SEQUENCE, IS_ALL_EXPANDED, IS_DECOMPOSED_PARTIAL_FRACTION, IS_EXPANDED, IS_FLAT_ORDERLESS_EVALED, IS_FLATTENED, IS_FLATTENED_OR_SORTED_MASK, IS_LISTABLE_THREADED, IS_MATRIX, IS_MATRIX_OR_VECTOR, IS_SORTED, IS_VECTOR, NO_FLAGASTID, BLANKID, COMPLEXID, DOUBLECOMPLEXID, DOUBLEID, FRACTIONID, INTEGERID, METHODSYMBOLID, PATTERNID, STRINGID, SYMBOLID| Modifier | Constructor and Description | 
|---|---|
protected  | 
AST0(IExpr head)
Create a function with no arguments (i.e. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
add(IExpr object)
Adds the specified object at the end of this  
ArrayList. | 
void | 
add(int location,
   IExpr object)
Inserts the specified object into this  
ArrayList at the specified
 location. | 
boolean | 
addAll(java.util.Collection<? extends IExpr> collection)
Adds the objects in the specified collection to this  
ArrayList. | 
boolean | 
addAll(int location,
      java.util.Collection<? extends IExpr> collection)
Inserts the objects in the specified collection at the specified location
 in this List. 
 | 
boolean | 
addAll(java.util.List<? extends IExpr> ast)
Appends all of the arguments (starting from offset  
1) in the
 specified AST to the end of this AST. | 
boolean | 
addAll(java.util.List<? extends IExpr> ast,
      int startPosition,
      int endPosition)
Appends all elements from offset  
startPosition to
 endPosition in the specified AST to the end of this AST. | 
IAST | 
addOneIdentity(IAST subAST)
Add an  
subAST with attribute OneIdentity for
 example Plus[] or Times[]. | 
IExpr | 
arg1()
Get the first argument (i.e. the second element of the underlying list
 structure) of the  
AST function (i.e. get(1) ). | 
IExpr | 
arg2()
Get the second argument (i.e. the third element of the underlying list
 structure) of the  
AST function (i.e. get(2) ). | 
IExpr | 
arg3()
Get the third argument (i.e. the fourth element of the underlying list
 structure) of the  
AST function (i.e. get(3) ). | 
IExpr | 
arg4()
Get the fourth argument (i.e. the fifth element of the underlying list
 structure) of the  
AST function (i.e. get(4) ). | 
IExpr | 
arg5()
Get the fifth argument (i.e. the sixth element of the underlying list
 structure) of the  
AST function (i.e. get(5) ). | 
java.util.Set<IExpr> | 
asSet()
Collect all arguments of this AST in a new set. 
 | 
void | 
clear()
Removes all elements from this  
ArrayList, leaving it empty. | 
IAST | 
clone()
Returns a new  
HMArrayList with the same elements, the same size
 and the same capacity as this HMArrayList. | 
boolean | 
contains(java.lang.Object object) | 
IAST | 
copy()
Returns a shallow copy of this  
IAST instance (the elements
 themselves are not copied). | 
boolean | 
equals(java.lang.Object obj)
Test if this is equal to b. 
 | 
IExpr | 
get(int location)  | 
int | 
hashCode()
Hashcode of this Element. 
 | 
IExpr | 
head()
If this object is an instance of  
IAST get the first element
 (offset 0) of the IAST list (i.e. get(0) ). | 
boolean | 
isSameHead(IExpr head)
Check if the object at index 0 (i.e. the head of the list) is the same
 object as  
head | 
boolean | 
isSameHead(IExpr head,
          int length)
Check if the object at index 0 (i.e. the head of the list) is the same
 object as  
head and if the size of the list equals
 length. | 
boolean | 
isSameHead(IExpr head,
          int minLength,
          int maxLength)
Check if the object at index 0 (i.e. the head of the list) is the same
 object as  
head and if the size of the list is between
 minLength and maxLength. | 
boolean | 
isSameHeadSizeGE(IExpr head,
                int length)
Check if the object at index 0 (i.e. the head of the list) is the same
 object as  
head and if the size of the list is greater or
 equal length. | 
void | 
readExternal(java.io.ObjectInput objectInput)  | 
IExpr | 
remove(int location)
Removes the object at the specified location from this list. 
 | 
boolean | 
remove(java.lang.Object object)  | 
protected void | 
removeRange(int start,
           int end)
Removes the objects in the specified range from the start to the end, but
 not including the end index. 
 | 
IExpr | 
set(int location,
   IExpr object)
Replaces the element at the specified location in this  
ArrayList
 with the specified object. | 
int | 
size()
Returns the number of elements in this  
ArrayList. | 
java.lang.Object[] | 
toArray()
Returns a new array containing all elements contained in this
  
ArrayList. | 
void | 
writeExternal(java.io.ObjectOutput objectOutput)  | 
$div, $minus, $plus, $times, $up, abs, accept, accept, accept, accept, addAtClone, addEvalFlags, and, appendClone, apply, apply, apply, apply, apply, args, asType, clearHashCache, compareTo, copyFrom, copyHead, copyUntil, copyUntil, dec, divide, egcd, equalsAt, equalsFromPosition, evalComplex, evalDouble, evalNumber, evalSignedNumber, evaluate, factory, filter, filter, filter, filter, filter, filter, filter, findFirstEquals, forEach, fullFormString, gcd, getAST, getAt, getEvalFlags, getHashCache, getInt, getList, getNumber, getOneIdentity, getPart, getPart, hierarchy, inc, indexOf, internalFormString, internalJavaString, internalScalaString, inverse, isAllExpanded, isAnd, isArcCos, isArcCosh, isArcSin, isArcSinh, isArcTan, isArcTanh, isAST, isAST, isAST, isAST, isAST, isAST, isAST, isASTSizeGE, isAtom, isComplex, isComplexInfinity, isComplexNumeric, isCondition, isCos, isCosh, isDerivative, isDirectedInfinity, isEmpty, isEvalFlagOff, isEvalFlagOn, isExpanded, isFlatAST, isFraction, isFree, isFree, isFree, isFreeAST, isFreeAST, isFreeAt, isFreeOfPatterns, isFunction, isGEOrdered, isGTOrdered, isInfinity, isInteger, isIntegerResult, isList, isListOfLists, isLog, isMatrix, isMember, isModule, isNegative, isNegativeInfinity, isNegativeResult, isNonNegativeResult, isNot, isNumber, isNumeric, isNumericFunction, isNumericMode, isOr, isOrderlessAST, isPatternExpr, isPlus, isPlusTimesPower, isPolynomial, isPolynomial, isPolynomialOfMaxDegree, isPolynomialOfMaxDegree, isPositive, isPositiveResult, isPower, isRationalResult, isRealResult, isRuleAST, isSame, isSame, isSequence, isSignedNumber, isSin, isSinh, isSlot, isSlotSequence, isSpan, isTan, isTanh, isTimes, isUnit, isValue, isVector, iterator, iterator0, last, lastIndexOf, leafCount, leaves, map, map, map, map, mapAt, mapAt, minus, mod, multiply, negate, negative, opposite, optional, or, patternHashCode, plus, power, power, prependClone, range, range, range, remainder, removeAtClone, replaceAll, replaceAll, replacePart, replaceRepeated, replaceRepeated, replaceSlots, setAtClone, setEvalFlags, signum, subtract, sum, times, timesDistributed, topHead, toScript, toScriptFactory, toString, variables2SlotscontainsAll, removeAll, retainAll, toArrayfinalize, getClass, notify, notifyAll, wait, wait, waitcontainsAll, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, removeAll, replaceAll, retainAll, sort, spliterator, subList, toArrayevaluateHead, getField, ifPresent, isBlank, isConstant, isE, isFalse, isIndeterminate, isLEOrdered, isLTOrdered, isMember, isMinusOne, isNumEqualInteger, isNumEqualRational, isNumIntValue, isOne, isONE, isPattern, isPatternDefault, isPatternSequence, isPi, isPresent, isRational, isRationalValue, isSymbol, isTrue, isVariable, isZero, isZERO, multiply, ofNullable, orElse, orElseGet, orElseThrow, reciprocalprotected IExpr arg0
protected AST0(IExpr head)
head[ ]).head - the head of the functionpublic IExpr arg1()
AST function (i.e. get(1) ). Sin(x), arg1() returns x.arg1 in interface IASTAST.IExpr.head()public IExpr arg2()
AST function (i.e. get(2) ). x^y
 (i.e. Power(x, y)), arg2() returns
 y.arg2 in interface IASTAST.IExpr.head()public IExpr arg3()
AST function (i.e. get(3) ).f(a, b, c), arg3() returns c.arg3 in interface IASTAST.IExpr.head()public IExpr arg4()
AST function (i.e. get(4) ).f(a, b ,c, d), arg4() returns d.arg4 in interface IASTAST.IExpr.head()public IExpr arg5()
AST function (i.e. get(5) ).f(a, b ,c, d, e), arg5() returns e
 .arg5 in interface IASTAST.IExpr.head()public java.util.Set<IExpr> asSet()
IASTpublic boolean add(IExpr object)
ArrayList.public void add(int location,
                IExpr object)
ArrayList at the specified
 location. The object is inserted before any previous element at the
 specified location. If the location is equal to the size of this
 ArrayList, the object is added at the end.public boolean addAll(java.util.Collection<? extends IExpr> collection)
ArrayList.public boolean addAll(int location,
                      java.util.Collection<? extends IExpr> collection)
addAll in interface java.util.List<IExpr>addAll in class java.util.AbstractList<IExpr>location - the index at which to insert.collection - the collection of objects.true if this ArrayList is modified, false
         otherwise.java.lang.IndexOutOfBoundsException - when location < 0 || > size()public boolean addAll(java.util.List<? extends IExpr> ast)
IAST1) in the
 specified AST to the end of this AST.public boolean addAll(java.util.List<? extends IExpr> ast, int startPosition, int endPosition)
IASTstartPosition to
 endPosition in the specified AST to the end of this AST.public IAST addOneIdentity(IAST subAST)
IASTsubAST with attribute OneIdentity for
 example Plus[] or Times[].addOneIdentity in interface IASTsubAST - an ast with attribute OneIdentity.this ast after adding the subASTpublic void clear()
ArrayList, leaving it empty.clear in interface java.util.Collection<IExpr>clear in interface java.util.List<IExpr>clear in class java.util.AbstractList<IExpr>AbstractAST.isEmpty(), 
size()public IAST clone()
HMArrayList with the same elements, the same size
 and the same capacity as this HMArrayList.clone in interface IASTclone in class AbstractASTArrayListCloneablepublic IAST copy()
IAST instance (the elements
 themselves are not copied). In contrast to the clone()
 method, this method returns exactly the same type for
 AST0, AST1, AST2,AST3.copy in interface edu.jas.structure.Element<IExpr>copy in interface IASTcopy in class AbstractASTIAST instance.public boolean contains(java.lang.Object object)
contains in interface java.util.Collection<IExpr>contains in interface java.util.List<IExpr>contains in class AbstractASTpublic boolean equals(java.lang.Object obj)
edu.jas.structure.Elementequals in interface edu.jas.structure.Element<IExpr>equals in interface java.util.Collection<IExpr>equals in interface java.util.List<IExpr>equals in class AbstractASTpublic IExpr get(int location)
get in interface java.util.List<IExpr>get in class AbstractASTpublic int hashCode()
edu.jas.structure.ElementhashCode in interface edu.jas.structure.Element<IExpr>hashCode in interface java.util.Collection<IExpr>hashCode in interface java.util.List<IExpr>hashCode in class AbstractASTpublic final IExpr head()
IExprIAST get the first element
 (offset 0) of the IAST list (i.e. get(0) ).public boolean isSameHead(IExpr head)
headisSameHead in class AbstractASThead - object to compare with element at location 0public boolean isSameHead(IExpr head, int length)
head and if the size of the list equals
 length.isSameHead in class AbstractASThead - object to compare with element at location 0public boolean isSameHead(IExpr head, int minLength, int maxLength)
head and if the size of the list is between
 minLength and maxLength.isSameHead in class AbstractASThead - object to compare with element at location 0minLength - minimum length of list elements.maxLength - maximum length of list elements.public boolean isSameHeadSizeGE(IExpr head, int length)
head and if the size of the list is greater or
 equal length.isSameHeadSizeGE in class AbstractASThead - object to compare with element at location 0public void readExternal(java.io.ObjectInput objectInput)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
readExternal in interface java.io.Externalizablejava.io.IOExceptionjava.lang.ClassNotFoundExceptionpublic IExpr remove(int location)
public boolean remove(java.lang.Object object)
protected void removeRange(int start,
                           int end)
removeRange in class java.util.AbstractList<IExpr>start - the index at which to start removing.end - the index one after the end of the range to remove.java.lang.IndexOutOfBoundsException - when start < 0, start > end or end > size()public IExpr set(int location, IExpr object)
ArrayList
 with the specified object.set in interface java.util.List<IExpr>set in class java.util.AbstractList<IExpr>location - the index at which to put the specified object.object - the object to add.java.lang.IndexOutOfBoundsException - when location < 0 || >= size()public int size()
ArrayList.size in interface java.util.Collection<IExpr>size in interface java.util.List<IExpr>size in class AbstractASTArrayList.public java.lang.Object[] toArray()
ArrayList.public void writeExternal(java.io.ObjectOutput objectOutput)
                   throws java.io.IOException
writeExternal in interface java.io.Externalizablejava.io.IOException