Package org.qdl_lang.expressions
Class IndexArgs
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- java.util.ArrayList<IndexArg>
-
- org.qdl_lang.expressions.IndexArgs
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<IndexArg>
,Collection<IndexArg>
,List<IndexArg>
,RandomAccess
public class IndexArgs extends ArrayList<IndexArg>
Created by Jeff Gaynor
on 7/1/22 at 4:50 PM- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class java.util.AbstractList
modCount
-
-
Constructor Summary
Constructors Constructor Description IndexArgs()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(IndexArg indexArg, State state)
int
argSize(IndexArg indexArg)
protected IndexArgs
checkIfList(IndexArg indexArg, State state)
int
count()
Only works if there are no wildcards! This counts the number of indices that will be computed.ArrayList<IndexList>
createSourceIndices()
indexArgs are [a1,a2,a3,a4,a5,...,ak] with sizes [n1,n2,n3,n4,n5,...,nk] nu = n1*n2*...*nk Each iteration has nu passes.ArrayList<IndexList>
createTargetIndices()
These are the indices for the result.boolean
hasWildcard()
Does one of the index args have a wildcard?boolean
isAllWildcards()
If one (except the zero-th element, which is the actual stem) is all wildcards.-
Methods inherited from class java.util.ArrayList
add, add, addAll, addAll, clear, clone, contains, ensureCapacity, equals, forEach, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
-
Methods inherited from class java.util.AbstractCollection
containsAll, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, stream, toArray
-
Methods inherited from interface java.util.List
containsAll
-
-
-
-
Method Detail
-
hasWildcard
public boolean hasWildcard()
Does one of the index args have a wildcard?- Returns:
-
isAllWildcards
public boolean isAllWildcards()
If one (except the zero-th element, which is the actual stem) is all wildcards.- Returns:
-
count
public int count()
Only works if there are no wildcards! This counts the number of indices that will be computed.- Returns:
-
argSize
public int argSize(IndexArg indexArg)
-
createSourceIndices
public ArrayList<IndexList> createSourceIndices()
indexArgs are [a1,a2,a3,a4,a5,...,ak] with sizes [n1,n2,n3,n4,n5,...,nk] nu = n1*n2*...*nk Each iteration has nu passes. each period is nu1= nu/n1, nu2 = nu/(nu1*n2), nu3 = nu/(nu2*n3),...
- Returns:
-
createTargetIndices
public ArrayList<IndexList> createTargetIndices()
These are the indices for the result.- Returns:
-
-