groovyx.gpars.extra166y
Class ParallelLongArrayWithMapping<U>

java.lang.Object
  extended by groovyx.gpars.extra166y.AbstractParallelAnyArray
      extended by groovyx.gpars.extra166y.AbstractParallelAnyArray.LPap
          extended by groovyx.gpars.extra166y.ParallelLongArrayWithMapping<U>
Direct Known Subclasses:
AbstractParallelAnyArray.LOCPap, AbstractParallelAnyArray.LOMPap

public abstract class ParallelLongArrayWithMapping<U>
extends AbstractParallelAnyArray.LPap

A prefix view of ParallelLongArray that causes operations to apply to mappings of elements, not to the elements themselves. Instances of this class may be constructed only via prefix methods of ParallelLongArray or its other prefix classes.


Nested Class Summary
 
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>
 
Field Summary
 
Fields inherited from class groovyx.gpars.extra166y.AbstractParallelAnyArray.LPap
array
 
Fields inherited from class groovyx.gpars.extra166y.AbstractParallelAnyArray
ex, fence, origin, threshold
 
Constructor Summary
ParallelLongArrayWithMapping(jsr166y.ForkJoinPool ex, int origin, int fence, long[] array)
           
 
Method Summary
 ParallelArray<U> all()
          Returns a new ParallelArray holding mapped elements
 ParallelArray<U> all(java.lang.Class<? super U> elementType)
          Returns a new ParallelArray with the given element type holding all elements
 U any()
          Returns mapping of some element matching bound and filter constraints, or null if none.
 void apply(Ops.Procedure<? super U> procedure)
          Applies the given procedure to mapped elements
 U max()
          Returns the maximum mapped element, or null if empty assuming that all elements are Comparables
 U max(java.util.Comparator<? super U> comparator)
          Returns the maximum mapped element, or null if empty
 U min()
          Returns the minimum mapped element, or null if empty, assuming that all elements are Comparables
 U min(java.util.Comparator<? super U> comparator)
          Returns the minimum mapped element, or null if empty
 U reduce(Ops.Reducer<U> reducer, U base)
          Returns reduction of mapped elements
 java.lang.Iterable<U> sequentially()
          Returns an Iterable view to sequentially step through mapped elements also obeying bound and filter constraints, without performing computations to evaluate them in parallel
 ParallelArray.SummaryStatistics<U> summary()
          Returns summary statistics, assuming that all elements are Comparables
 ParallelArray.SummaryStatistics<U> summary(java.util.Comparator<? super U> comparator)
          Returns summary statistics, using the given comparator to locate minimum and maximum elements.
abstract  ParallelLongArrayWithDoubleMapping withIndexedMapping(Ops.IntAndObjectToDouble<? super U> mapper)
          Returns an operation prefix that causes a method to operate on mappings of this array using the given mapper that accepts as arguments an element's current index and value (as mapped by preceding mappings, if any), and produces a new value.
abstract  ParallelLongArrayWithLongMapping withIndexedMapping(Ops.IntAndObjectToLong<? super U> mapper)
          Returns an operation prefix that causes a method to operate on mappings of this array using the given mapper that accepts as arguments an element's current index and value (as mapped by preceding mappings, if any), and produces a new value.
abstract
<V> ParallelLongArrayWithMapping<V>
withIndexedMapping(Ops.IntAndObjectToObject<? super U,? extends V> mapper)
          Returns an operation prefix that causes a method to operate on mappings of this array using the given mapper that accepts as arguments an element's current index and value (as mapped by preceding mappings, if any), and produces a new value.
<V,W,X> ParallelLongArrayWithMapping<W>
withMapping(Ops.BinaryOp<? super U,? super V,? extends W> combiner, ParallelArrayWithMapping<X,V> other)
          Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.
 ParallelLongArrayWithDoubleMapping withMapping(Ops.ObjectAndDoubleToDouble<? super U> combiner, ParallelDoubleArrayWithDoubleMapping other)
          Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.
 ParallelLongArrayWithLongMapping withMapping(Ops.ObjectAndDoubleToLong<? super U> combiner, ParallelDoubleArrayWithDoubleMapping other)
          Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.
<V> ParallelLongArrayWithMapping<V>
withMapping(Ops.ObjectAndDoubleToObject<? super U,? extends V> combiner, ParallelDoubleArrayWithDoubleMapping other)
          Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.
 ParallelLongArrayWithDoubleMapping withMapping(Ops.ObjectAndLongToDouble<? super U> combiner, ParallelLongArrayWithLongMapping other)
          Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.
 ParallelLongArrayWithLongMapping withMapping(Ops.ObjectAndLongToLong<? super U> combiner, ParallelLongArrayWithLongMapping other)
          Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.
<V> ParallelLongArrayWithMapping<V>
withMapping(Ops.ObjectAndLongToObject<? super U,? extends V> combiner, ParallelLongArrayWithLongMapping other)
          Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.
<V,W> ParallelLongArrayWithDoubleMapping
withMapping(Ops.ObjectAndObjectToDouble<? super U,? super V> combiner, ParallelArrayWithMapping<W,V> other)
          Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.
<V,W> ParallelLongArrayWithLongMapping
withMapping(Ops.ObjectAndObjectToLong<? super U,? super V> combiner, ParallelArrayWithMapping<W,V> other)
          Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.
abstract  ParallelLongArrayWithDoubleMapping withMapping(Ops.ObjectToDouble<? super U> op)
          Returns an operation prefix that causes a method to operate on mapped elements of the array using the given op applied to current op's results
abstract  ParallelLongArrayWithLongMapping withMapping(Ops.ObjectToLong<? super U> op)
          Returns an operation prefix that causes a method to operate on mapped elements of the array using the given op applied to current op's results
abstract
<V> ParallelLongArrayWithMapping<V>
withMapping(Ops.Op<? super U,? extends V> op)
          Returns an operation prefix that causes a method to operate on mapped elements of the array using the given op applied to current op's results
 
Methods inherited from class groovyx.gpars.extra166y.AbstractParallelAnyArray.LPap
dget, leafMoveByIndex, leafMoveSelected, lgetArray, oget
 
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, leafTransfer, leafTransferByIndex, leafTransferByIndex, leafTransferByIndex, leafTransform, leafTransform, leafTransform, lget, ogetArray, size
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ParallelLongArrayWithMapping

ParallelLongArrayWithMapping(jsr166y.ForkJoinPool ex,
                             int origin,
                             int fence,
                             long[] array)
Method Detail

apply

public void apply(Ops.Procedure<? super U> procedure)
Applies the given procedure to mapped elements

Parameters:
procedure - the procedure

reduce

public U reduce(Ops.Reducer<U> reducer,
                U base)
Returns reduction of mapped elements

Parameters:
reducer - the reducer
base - the result for an empty array
Returns:
reduction

any

public U any()
Returns mapping of some element matching bound and filter constraints, or null if none.

Returns:
mapping of matching element, or null if none.

min

public U min(java.util.Comparator<? super U> comparator)
Returns the minimum mapped element, or null if empty

Parameters:
comparator - the comparator
Returns:
minimum mapped element, or null if empty

min

public U min()
Returns the minimum mapped element, or null if empty, assuming that all elements are Comparables

Returns:
minimum mapped element, or null if empty
Throws:
java.lang.ClassCastException - if any element is not Comparable.

max

public U max(java.util.Comparator<? super U> comparator)
Returns the maximum mapped element, or null if empty

Parameters:
comparator - the comparator
Returns:
maximum mapped element, or null if empty

max

public U max()
Returns the maximum mapped element, or null if empty assuming that all elements are Comparables

Returns:
maximum mapped element, or null if empty
Throws:
java.lang.ClassCastException - if any element is not Comparable.

summary

public ParallelArray.SummaryStatistics<U> summary(java.util.Comparator<? super U> comparator)
Returns summary statistics, using the given comparator to locate minimum and maximum elements.

Parameters:
comparator - the comparator to use for locating minimum and maximum elements
Returns:
the summary.

summary

public ParallelArray.SummaryStatistics<U> summary()
Returns summary statistics, assuming that all elements are Comparables

Returns:
the summary.

all

public ParallelArray<U> all()
Returns a new ParallelArray holding mapped elements

Returns:
a new ParallelArray holding mapped elements

all

public ParallelArray<U> all(java.lang.Class<? super U> elementType)
Returns a new ParallelArray with the given element type holding all elements

Parameters:
elementType - the type of the elements
Returns:
a new ParallelArray holding all elements

withMapping

public abstract <V> ParallelLongArrayWithMapping<V> withMapping(Ops.Op<? super U,? extends V> op)
Returns an operation prefix that causes a method to operate on mapped elements of the array using the given op applied to current op's results

Parameters:
op - the op
Returns:
operation prefix

withMapping

public abstract ParallelLongArrayWithLongMapping withMapping(Ops.ObjectToLong<? super U> op)
Returns an operation prefix that causes a method to operate on mapped elements of the array using the given op applied to current op's results

Parameters:
op - the op
Returns:
operation prefix

withMapping

public abstract ParallelLongArrayWithDoubleMapping withMapping(Ops.ObjectToDouble<? super U> op)
Returns an operation prefix that causes a method to operate on mapped elements of the array using the given op applied to current op's results

Parameters:
op - the op
Returns:
operation prefix

withMapping

public <V,W,X> ParallelLongArrayWithMapping<W> withMapping(Ops.BinaryOp<? super U,? super V,? extends W> combiner,
                                                           ParallelArrayWithMapping<X,V> other)
Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.

Parameters:
combiner - the combiner
other - the other array
Returns:
operation prefix
Throws:
java.lang.IllegalArgumentException - if other array is a filtered view (all filters must precede all mappings).

withMapping

public <V> ParallelLongArrayWithMapping<V> withMapping(Ops.ObjectAndDoubleToObject<? super U,? extends V> combiner,
                                                       ParallelDoubleArrayWithDoubleMapping other)
Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.

Parameters:
combiner - the combiner
other - the other array
Returns:
operation prefix
Throws:
java.lang.IllegalArgumentException - if other array is a filtered view (all filters must precede all mappings).

withMapping

public <V> ParallelLongArrayWithMapping<V> withMapping(Ops.ObjectAndLongToObject<? super U,? extends V> combiner,
                                                       ParallelLongArrayWithLongMapping other)
Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.

Parameters:
combiner - the combiner
other - the other array
Returns:
operation prefix
Throws:
java.lang.IllegalArgumentException - if other array is a filtered view (all filters must precede all mappings).

withMapping

public <V,W> ParallelLongArrayWithDoubleMapping withMapping(Ops.ObjectAndObjectToDouble<? super U,? super V> combiner,
                                                            ParallelArrayWithMapping<W,V> other)
Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.

Parameters:
combiner - the combiner
other - the other array
Returns:
operation prefix
Throws:
java.lang.IllegalArgumentException - if other array is a filtered view (all filters must precede all mappings).

withMapping

public ParallelLongArrayWithDoubleMapping withMapping(Ops.ObjectAndDoubleToDouble<? super U> combiner,
                                                      ParallelDoubleArrayWithDoubleMapping other)
Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.

Parameters:
combiner - the combiner
other - the other array
Returns:
operation prefix
Throws:
java.lang.IllegalArgumentException - if other array is a filtered view (all filters must precede all mappings).

withMapping

public ParallelLongArrayWithDoubleMapping withMapping(Ops.ObjectAndLongToDouble<? super U> combiner,
                                                      ParallelLongArrayWithLongMapping other)
Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.

Parameters:
combiner - the combiner
other - the other array
Returns:
operation prefix
Throws:
java.lang.IllegalArgumentException - if other array is a filtered view (all filters must precede all mappings).

withMapping

public <V,W> ParallelLongArrayWithLongMapping withMapping(Ops.ObjectAndObjectToLong<? super U,? super V> combiner,
                                                          ParallelArrayWithMapping<W,V> other)
Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.

Parameters:
combiner - the combiner
other - the other array
Returns:
operation prefix
Throws:
java.lang.IllegalArgumentException - if other array is a filtered view (all filters must precede all mappings).

withMapping

public ParallelLongArrayWithLongMapping withMapping(Ops.ObjectAndDoubleToLong<? super U> combiner,
                                                    ParallelDoubleArrayWithDoubleMapping other)
Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.

Parameters:
combiner - the combiner
other - the other array
Returns:
operation prefix
Throws:
java.lang.IllegalArgumentException - if other array is a filtered view (all filters must precede all mappings).

withMapping

public ParallelLongArrayWithLongMapping withMapping(Ops.ObjectAndLongToLong<? super U> combiner,
                                                    ParallelLongArrayWithLongMapping other)
Returns an operation prefix that causes a method to operate on binary mappings of this array and the other array.

Parameters:
combiner - the combiner
other - the other array
Returns:
operation prefix
Throws:
java.lang.IllegalArgumentException - if other array is a filtered view (all filters must precede all mappings).

withIndexedMapping

public abstract <V> ParallelLongArrayWithMapping<V> withIndexedMapping(Ops.IntAndObjectToObject<? super U,? extends V> mapper)
Returns an operation prefix that causes a method to operate on mappings of this array using the given mapper that accepts as arguments an element's current index and value (as mapped by preceding mappings, if any), and produces a new value.

Parameters:
mapper - the mapper
Returns:
operation prefix

withIndexedMapping

public abstract ParallelLongArrayWithDoubleMapping withIndexedMapping(Ops.IntAndObjectToDouble<? super U> mapper)
Returns an operation prefix that causes a method to operate on mappings of this array using the given mapper that accepts as arguments an element's current index and value (as mapped by preceding mappings, if any), and produces a new value.

Parameters:
mapper - the mapper
Returns:
operation prefix

withIndexedMapping

public abstract ParallelLongArrayWithLongMapping withIndexedMapping(Ops.IntAndObjectToLong<? super U> mapper)
Returns an operation prefix that causes a method to operate on mappings of this array using the given mapper that accepts as arguments an element's current index and value (as mapped by preceding mappings, if any), and produces a new value.

Parameters:
mapper - the mapper
Returns:
operation prefix

sequentially

public java.lang.Iterable<U> sequentially()
Returns an Iterable view to sequentially step through mapped elements also obeying bound and filter constraints, without performing computations to evaluate them in parallel

Returns:
the Iterable view

Copyright © 2008–2012 Václav Pech. All Rights Reserved.