org.codehaus.gpars

groovyx.gpars.extra166y
[Java] Class ParallelDoubleArrayWithBounds

java.lang.Object
  groovyx.gpars.extra166y.AbstractParallelAnyArray.DPap
      groovyx.gpars.extra166y.ParallelDoubleArrayWithDoubleMapping
          groovyx.gpars.extra166y.ParallelDoubleArrayWithFilter
              groovyx.gpars.extra166y.ParallelDoubleArrayWithBounds

public abstract class ParallelDoubleArrayWithBounds
extends ParallelDoubleArrayWithFilter

A prefix view of ParallelDoubleArray that causes operations to apply only to elements within a given range. Instances of this class may be constructed only via prefix methods of ParallelDoubleArray or its other prefix classes.


Constructor Summary
ParallelDoubleArrayWithBounds(ForkJoinPool ex, int origin, int fence, double[] array)

 
Method Summary
int binarySearch(double target)

Assuming this array is sorted, returns the index of an element equal to given target, or -1 if not present.

int binarySearch(double target, DoubleComparator comparator)

Assuming this array is sorted with respect to the given comparator, returns the index of an element equal to given target, or -1 if not present.

ParallelDoubleArrayWithBounds cumulate(DoubleReducer reducer, double base)

Replaces each element with the running cumulation of applying the given reducer.

ParallelDoubleArrayWithBounds cumulateSum()

Replaces each element with the running sum.

int indexOf(double target)

Returns the index of some element equal to given target, or -1 if not present.

double precumulate(DoubleReducer reducer, double base)

Replaces each element with the cumulation of applying the given reducer to all previous values, and returns the total reduction.

double precumulateSum()

Replaces each element with its prefix sum.

ParallelDoubleArrayWithBounds sort(DoubleComparator cmp)

Sorts the elements.

ParallelDoubleArrayWithBounds sort()

Sorts the elements, assuming all elements are Comparable.

ParallelDoubleArrayWithBounds withBounds(int firstIndex, int upperBound)

Returns an operation prefix that causes a method to operate only on the elements of the array between firstIndex (inclusive) and upperBound (exclusive).

 
Methods inherited from class ParallelDoubleArrayWithFilter
allUniqueElements, dget, hasAllEqualElements, leafTransfer, leafTransferByIndex, replaceWithGeneratedValue, replaceWithMappedIndex, replaceWithMappedIndex, replaceWithMapping, replaceWithMapping, replaceWithMapping, replaceWithValue, withFilter, withFilter, withIndexedFilter
 
Methods inherited from class ParallelDoubleArrayWithDoubleMapping
all, apply, max, max, min, min, reduce, sequentially, sum, summary, summary, withIndexedMapping, withIndexedMapping, withIndexedMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping, withMapping
 

Constructor Detail

ParallelDoubleArrayWithBounds

ParallelDoubleArrayWithBounds(ForkJoinPool ex, int origin, int fence, double[] array)


 
Method Detail

binarySearch

public int binarySearch(double target)
Assuming this array is sorted, returns the index of an element equal to given target, or -1 if not present. If the array is not sorted, the results are undefined.
Parameters:
target - the element to search for
Returns:
the index or -1 if not present


binarySearch

public int binarySearch(double target, DoubleComparator comparator)
Assuming this array is sorted with respect to the given comparator, returns the index of an element equal to given target, or -1 if not present. If the array is not sorted, the results are undefined.
Parameters:
target - the element to search for
comparator - the comparator
Returns:
the index or -1 if not present


cumulate

public ParallelDoubleArrayWithBounds cumulate(DoubleReducer reducer, double base)
Replaces each element with the running cumulation of applying the given reducer.
Parameters:
reducer - the reducer
base - the result for an empty array
Returns:
this (to simplify use in expressions)


cumulateSum

public ParallelDoubleArrayWithBounds cumulateSum()
Replaces each element with the running sum.
Returns:
this (to simplify use in expressions)


indexOf

public int indexOf(double target)
Returns the index of some element equal to given target, or -1 if not present.
Parameters:
target - the element to search for
Returns:
the index or -1 if not present


precumulate

public double precumulate(DoubleReducer reducer, double base)
Replaces each element with the cumulation of applying the given reducer to all previous values, and returns the total reduction.
Parameters:
reducer - the reducer
base - the result for an empty array
Returns:
the total reduction


precumulateSum

public double precumulateSum()
Replaces each element with its prefix sum.
Returns:
the total sum


sort

public ParallelDoubleArrayWithBounds sort(DoubleComparator cmp)
Sorts the elements. Unlike Arrays.sort, this sort does not guarantee that elements with equal keys maintain their relative position in the array.
Parameters:
cmp - the comparator to use
Returns:
this (to simplify use in expressions)


sort

public ParallelDoubleArrayWithBounds sort()
Sorts the elements, assuming all elements are Comparable. Unlike Arrays.sort, this sort does not guarantee that elements with equal keys maintain their relative position in the array.
throws:
ClassCastException if any element is not Comparable
Returns:
this (to simplify use in expressions)


withBounds

public ParallelDoubleArrayWithBounds withBounds(int firstIndex, int upperBound)
Returns an operation prefix that causes a method to operate only on the elements of the array between firstIndex (inclusive) and upperBound (exclusive). The bound arguments are relative to the current bounds. For example pa.withBounds(2, 8).withBounds(3, 5) indexes the 5th (= 2+3) and 6th elements of pa. However, indices returned by methods such as indexOf are with respect to the underlying ParallelDoubleArray.
Parameters:
firstIndex - the lower bound (inclusive)
upperBound - the upper bound (exclusive)
Returns:
operation prefix


 

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