groovyx.gpars.extra166y
Class ParallelDoubleArrayWithMapping<U>

java.lang.Object
  extended by groovyx.gpars.extra166y.AbstractParallelAnyArray
      extended by groovyx.gpars.extra166y.AbstractParallelAnyArray.DPap
          extended by groovyx.gpars.extra166y.ParallelDoubleArrayWithMapping<U>
Direct Known Subclasses:
AbstractParallelAnyArray.DOCPap, AbstractParallelAnyArray.DOMPap

public abstract class ParallelDoubleArrayWithMapping<U>
extends AbstractParallelAnyArray.DPap

A prefix view of ParallelDoubleArray 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 ParallelDoubleArray 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.DPap
array
 
Fields inherited from class groovyx.gpars.extra166y.AbstractParallelAnyArray
ex, fence, origin, threshold
 
Constructor Summary
ParallelDoubleArrayWithMapping(jsr166y.ForkJoinPool ex, int origin, int fence, double[] array)
           
 
Method Summary
 ParallelArray<U> all()
          Returns a new ParallelArray holding elements
 ParallelArray<U> all(java.lang.Class<? super U> elementType)
          Returns a new ParallelArray with the given element type holding 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  ParallelDoubleArrayWithDoubleMapping 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  ParallelDoubleArrayWithLongMapping 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> ParallelDoubleArrayWithMapping<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> ParallelDoubleArrayWithMapping<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.
 ParallelDoubleArrayWithDoubleMapping 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.
 ParallelDoubleArrayWithLongMapping 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> ParallelDoubleArrayWithMapping<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.
 ParallelDoubleArrayWithDoubleMapping 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.
 ParallelDoubleArrayWithLongMapping 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> ParallelDoubleArrayWithMapping<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> ParallelDoubleArrayWithDoubleMapping
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> ParallelDoubleArrayWithLongMapping
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  ParallelDoubleArrayWithDoubleMapping 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  ParallelDoubleArrayWithLongMapping 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> ParallelDoubleArrayWithMapping<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.DPap
dgetArray, leafMoveByIndex, leafMoveSelected, lget, 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, dget, 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, lgetArray, ogetArray, size
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ParallelDoubleArrayWithMapping

ParallelDoubleArrayWithMapping(jsr166y.ForkJoinPool ex,
                               int origin,
                               int fence,
                               double[] 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 elements

Returns:
a new ParallelArray holding elements

all

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

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

withMapping

public abstract <V> ParallelDoubleArrayWithMapping<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 ParallelDoubleArrayWithDoubleMapping 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 abstract ParallelDoubleArrayWithLongMapping 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 <V,W,X> ParallelDoubleArrayWithMapping<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> ParallelDoubleArrayWithMapping<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> ParallelDoubleArrayWithMapping<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> ParallelDoubleArrayWithDoubleMapping 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 ParallelDoubleArrayWithDoubleMapping 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 ParallelDoubleArrayWithDoubleMapping 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

withMapping

public <V,W> ParallelDoubleArrayWithLongMapping 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 ParallelDoubleArrayWithLongMapping 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 ParallelDoubleArrayWithLongMapping 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> ParallelDoubleArrayWithMapping<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 ParallelDoubleArrayWithDoubleMapping 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 ParallelDoubleArrayWithLongMapping 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.