groovyx.gpars.extra166y
Class ParallelArrayWithFilter<T>
java.lang.Object
groovyx.gpars.extra166y.AbstractParallelAnyArray
groovyx.gpars.extra166y.AbstractParallelAnyArray.OPap<T>
groovyx.gpars.extra166y.ParallelArrayWithMapping<T,T>
groovyx.gpars.extra166y.ParallelArrayWithFilter<T>
- Direct Known Subclasses:
- AbstractParallelAnyArray.OFPap, AbstractParallelAnyArray.ORPap, ParallelArrayWithBounds
public abstract class ParallelArrayWithFilter<T>
- extends ParallelArrayWithMapping<T,T>
A prefix view of ParallelArray that causes operations to apply
only to elements for which a selector returns true.
Instances of this class may be constructed only via prefix
methods of ParallelArray or its other prefix classes.
Nested classes/interfaces inherited from class groovyx.gpars.extra166y.AbstractParallelAnyArray |
AbstractParallelAnyArray.AndPredicate<T>, AbstractParallelAnyArray.DDCPap, AbstractParallelAnyArray.DDMPap, AbstractParallelAnyArray.DFDCPap, AbstractParallelAnyArray.DFDMPap, AbstractParallelAnyArray.DFLCPap, AbstractParallelAnyArray.DFLMPap, AbstractParallelAnyArray.DFOCPap<U>, AbstractParallelAnyArray.DFOMPap<U>, AbstractParallelAnyArray.DFPap, AbstractParallelAnyArray.DLCPap, AbstractParallelAnyArray.DLMPap, AbstractParallelAnyArray.DOCPap<U>, AbstractParallelAnyArray.DOMPap<U>, AbstractParallelAnyArray.DPap, AbstractParallelAnyArray.DRDCPap, AbstractParallelAnyArray.DRDMPap, AbstractParallelAnyArray.DRLCPap, AbstractParallelAnyArray.DRLMPap, AbstractParallelAnyArray.DROCPap<U>, AbstractParallelAnyArray.DROMPap<U>, AbstractParallelAnyArray.DRPap, AbstractParallelAnyArray.DUDCPap, AbstractParallelAnyArray.DUDMPap, AbstractParallelAnyArray.DULCPap, AbstractParallelAnyArray.DULMPap, AbstractParallelAnyArray.DUOCPap<U>, AbstractParallelAnyArray.DUOMPap<U>, AbstractParallelAnyArray.DUPap, AbstractParallelAnyArray.FilteredAsDoubleIterator, AbstractParallelAnyArray.FilteredAsLongIterator, AbstractParallelAnyArray.FilteredIterator<U>, AbstractParallelAnyArray.LDCPap, AbstractParallelAnyArray.LDMPap, AbstractParallelAnyArray.LFDCPap, AbstractParallelAnyArray.LFDMPap, AbstractParallelAnyArray.LFLCPap, AbstractParallelAnyArray.LFLMPap, AbstractParallelAnyArray.LFOCPap<U>, AbstractParallelAnyArray.LFOMPap<U>, AbstractParallelAnyArray.LFPap, AbstractParallelAnyArray.LLCPap, AbstractParallelAnyArray.LLMPap, AbstractParallelAnyArray.LOCPap<U>, AbstractParallelAnyArray.LOMPap<U>, AbstractParallelAnyArray.LPap, AbstractParallelAnyArray.LRDCPap, AbstractParallelAnyArray.LRDMPap, AbstractParallelAnyArray.LRLCPap, AbstractParallelAnyArray.LRLMPap, AbstractParallelAnyArray.LROCPap<U>, AbstractParallelAnyArray.LROMPap<U>, AbstractParallelAnyArray.LRPap, AbstractParallelAnyArray.LUDCPap, AbstractParallelAnyArray.LUDMPap, AbstractParallelAnyArray.LULCPap, AbstractParallelAnyArray.LULMPap, AbstractParallelAnyArray.LUOCPap<U>, AbstractParallelAnyArray.LUOMPap<U>, AbstractParallelAnyArray.LUPap, AbstractParallelAnyArray.ODCPap<T>, AbstractParallelAnyArray.ODMPap<T>, AbstractParallelAnyArray.OFDCPap<T>, AbstractParallelAnyArray.OFDMPap<T>, AbstractParallelAnyArray.OFLCPap<T>, AbstractParallelAnyArray.OFLMPap<T>, AbstractParallelAnyArray.OFOCPap<T,U>, AbstractParallelAnyArray.OFOMPap<T,U>, AbstractParallelAnyArray.OFPap<T>, AbstractParallelAnyArray.OLCPap<T>, AbstractParallelAnyArray.OLMPap<T>, AbstractParallelAnyArray.OOCPap<T,U>, AbstractParallelAnyArray.OOMPap<T,U>, AbstractParallelAnyArray.OPap<T>, AbstractParallelAnyArray.ORDCPap<T>, AbstractParallelAnyArray.ORDMPap<T>, AbstractParallelAnyArray.ORLCPap<T>, AbstractParallelAnyArray.ORLMPap<T>, AbstractParallelAnyArray.OROCPap<T,U>, AbstractParallelAnyArray.OROMPap<T,U>, AbstractParallelAnyArray.ORPap<T>, AbstractParallelAnyArray.OUDCPap<T>, AbstractParallelAnyArray.OUDMPap<T>, AbstractParallelAnyArray.OULCPap<T>, AbstractParallelAnyArray.OULMPap<T>, AbstractParallelAnyArray.OUOCPap<T,U>, AbstractParallelAnyArray.OUOMPap<T,U>, AbstractParallelAnyArray.OUPap<T>, AbstractParallelAnyArray.Sequentially<U>, AbstractParallelAnyArray.SequentiallyAsDouble, AbstractParallelAnyArray.SequentiallyAsLong, AbstractParallelAnyArray.UnfilteredAsDoubleIterator, AbstractParallelAnyArray.UnfilteredAsLongIterator, AbstractParallelAnyArray.UnfilteredIterator<U> |
Method Summary |
ParallelArray<T> |
allNonidenticalElements()
Returns a new ParallelArray containing only non-null unique
elements (that is, without any duplicates). |
ParallelArray<T> |
allUniqueElements()
Returns a new ParallelArray containing only non-null unique
elements (that is, without any duplicates). |
|
hasAllEqualElements(ParallelArrayWithMapping<U,V> other)
Returns true if all elements at the same relative positions
of this and other array are equal. |
|
hasAllIdenticalElements(ParallelArrayWithMapping<U,V> other)
Returns true if all elements at the same relative positions
of this and other array are identical. |
(package private) void |
leafTransfer(int lo,
int hi,
java.lang.Object[] dest,
int offset)
|
(package private) void |
leafTransferByIndex(int[] indices,
int loIdx,
int hiIdx,
java.lang.Object[] dest,
int offset)
|
(package private) java.lang.Object |
oget(int i)
|
ParallelArrayWithFilter<T> |
replaceWithGeneratedValue(Ops.Generator<? extends T> generator)
Replaces elements with results of applying the given
generator. |
ParallelArrayWithFilter<T> |
replaceWithMappedIndex(Ops.IntAndObjectToObject<? super T,? extends T> op)
Replaces elements with the results of applying the given
mapping to each index and current element value |
ParallelArrayWithFilter<T> |
replaceWithMappedIndex(Ops.IntToObject<? extends T> op)
Replaces elements with the results of applying the given
op to their indices |
|
replaceWithMapping(Ops.BinaryOp<? super T,? super V,? extends T> combiner,
ParallelArrayWithMapping<W,V> other)
Replaces elements with results of applying
op(thisElement, otherElement) |
ParallelArrayWithFilter<T> |
replaceWithMapping(Ops.BinaryOp<T,T,T> combiner,
T[] other)
Replaces elements with results of applying
op(thisElement, otherElement) |
ParallelArrayWithFilter<T> |
replaceWithMapping(Ops.Op<? super T,? extends T> op)
Replaces elements with the results of applying the given
op to their current values. |
ParallelArrayWithFilter<T> |
replaceWithValue(T value)
Replaces elements with the given value. |
|
withFilter(Ops.BinaryPredicate<? super T,? super V> selector,
ParallelArrayWithMapping<W,V> other)
Returns an operation prefix that causes a method to operate
only on elements for which the current selector (if
present) and the given binary selector returns true |
abstract ParallelArrayWithFilter<T> |
withFilter(Ops.Predicate<? super T> selector)
Returns an operation prefix that causes a method to operate
only on elements for which the current selector (if
present) and the given selector returns true |
abstract ParallelArrayWithFilter<T> |
withIndexedFilter(Ops.IntAndObjectPredicate<? super T> selector)
Returns an operation prefix that causes a method to operate
only on elements for which the current selector (if
present) and the given indexed selector returns true |
Methods inherited from class groovyx.gpars.extra166y.ParallelArrayWithMapping |
all, all, any, apply, max, max, min, min, reduce, sequentially, summary, summary, withIndexedMapping, withIndexedMapping, withIndexedMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping |
Methods inherited from class groovyx.gpars.extra166y.AbstractParallelAnyArray |
allDoubles, allLongs, allObjects, anyIndex, boundsCheck, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedOp, compoundIndexedSelector, compoundIndexedSelector, compoundIndexedSelector, compoundIndexedSelector, compoundIndexedSelector, compoundIndexedSelector, compoundIndexedSelector, compoundIndexedSelector, compoundIndexedSelector, computeThreshold, dgetArray, getThreshold, hasFilter, hasMap, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedMapper, indexedSelector, indexedSelector, indexedSelector, isEmpty, isSelected, leafApply, leafApply, leafApply, leafBinaryIndexMap, leafBinaryIndexMap, leafBinaryIndexMap, leafCombineInPlace, leafCombineInPlace, leafCombineInPlace, leafCombineInPlace, leafCombineInPlace, leafCombineInPlace, leafFill, leafFill, leafFill, leafGenerate, leafGenerate, leafGenerate, leafIndexMap, leafIndexMap, leafIndexMap, leafIndexSelected, leafReduce, leafReduce, leafReduce, leafTransfer, leafTransfer, leafTransferByIndex, leafTransferByIndex, leafTransform, leafTransform, leafTransform, lgetArray, size |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ParallelArrayWithFilter
ParallelArrayWithFilter(jsr166y.ForkJoinPool ex,
int origin,
int fence,
T[] array)
replaceWithMapping
public ParallelArrayWithFilter<T> replaceWithMapping(Ops.Op<? super T,? extends T> op)
- Replaces elements with the results of applying the given
op to their current values.
- Parameters:
op
- the op
- Returns:
- this (to simplify use in expressions)
replaceWithMappedIndex
public ParallelArrayWithFilter<T> replaceWithMappedIndex(Ops.IntToObject<? extends T> op)
- Replaces elements with the results of applying the given
op to their indices
- Parameters:
op
- the op
- Returns:
- this (to simplify use in expressions)
replaceWithMappedIndex
public ParallelArrayWithFilter<T> replaceWithMappedIndex(Ops.IntAndObjectToObject<? super T,? extends T> op)
- Replaces elements with the results of applying the given
mapping to each index and current element value
- Parameters:
op
- the op
- Returns:
- this (to simplify use in expressions)
replaceWithGeneratedValue
public ParallelArrayWithFilter<T> replaceWithGeneratedValue(Ops.Generator<? extends T> generator)
- Replaces elements with results of applying the given
generator.
- Parameters:
generator
- the generator
- Returns:
- this (to simplify use in expressions)
replaceWithValue
public ParallelArrayWithFilter<T> replaceWithValue(T value)
- Replaces elements with the given value.
- Parameters:
value
- the value
- Returns:
- this (to simplify use in expressions)
replaceWithMapping
public <V,W> ParallelArrayWithFilter<T> replaceWithMapping(Ops.BinaryOp<? super T,? super V,? extends T> combiner,
ParallelArrayWithMapping<W,V> other)
- Replaces elements with results of applying
op(thisElement, otherElement)
- Parameters:
other
- the other arraycombiner
- the combiner
- Returns:
- this (to simplify use in expressions)
replaceWithMapping
public ParallelArrayWithFilter<T> replaceWithMapping(Ops.BinaryOp<T,T,T> combiner,
T[] other)
- Replaces elements with results of applying
op(thisElement, otherElement)
- Parameters:
other
- the other arraycombiner
- the combiner
- Returns:
- this (to simplify use in expressions)
allUniqueElements
public ParallelArray<T> allUniqueElements()
- Returns a new ParallelArray containing only non-null unique
elements (that is, without any duplicates). This method
uses each element's equals method to test for
duplication.
- Returns:
- the new ParallelArray
allNonidenticalElements
public ParallelArray<T> allNonidenticalElements()
- Returns a new ParallelArray containing only non-null unique
elements (that is, without any duplicates). This method
uses reference identity to test for duplication.
- Returns:
- the new ParallelArray
withFilter
public abstract ParallelArrayWithFilter<T> withFilter(Ops.Predicate<? super T> selector)
- Returns an operation prefix that causes a method to operate
only on elements for which the current selector (if
present) and the given selector returns true
- Parameters:
selector
- the selector
- Returns:
- operation prefix
withFilter
public <V,W> ParallelArrayWithFilter<T> withFilter(Ops.BinaryPredicate<? super T,? super V> selector,
ParallelArrayWithMapping<W,V> other)
- Returns an operation prefix that causes a method to operate
only on elements for which the current selector (if
present) and the given binary selector returns true
- Parameters:
selector
- the selector
- Returns:
- operation prefix
withIndexedFilter
public abstract ParallelArrayWithFilter<T> withIndexedFilter(Ops.IntAndObjectPredicate<? super T> selector)
- Returns an operation prefix that causes a method to operate
only on elements for which the current selector (if
present) and the given indexed selector returns true
- Parameters:
selector
- the selector
- Returns:
- operation prefix
hasAllEqualElements
public <U,V> boolean hasAllEqualElements(ParallelArrayWithMapping<U,V> other)
- Returns true if all elements at the same relative positions
of this and other array are equal.
- Parameters:
other
- the other array
- Returns:
- true if equal
hasAllIdenticalElements
public <U,V> boolean hasAllIdenticalElements(ParallelArrayWithMapping<U,V> other)
- Returns true if all elements at the same relative positions
of this and other array are identical.
- Parameters:
other
- the other array
- Returns:
- true if equal
leafTransfer
final void leafTransfer(int lo,
int hi,
java.lang.Object[] dest,
int offset)
- Overrides:
leafTransfer
in class AbstractParallelAnyArray
leafTransferByIndex
final void leafTransferByIndex(int[] indices,
int loIdx,
int hiIdx,
java.lang.Object[] dest,
int offset)
- Overrides:
leafTransferByIndex
in class AbstractParallelAnyArray
oget
final java.lang.Object oget(int i)
- Specified by:
oget
in class AbstractParallelAnyArray