Package extra166y
Class ParallelLongArrayWithBounds
- java.lang.Object
-
- extra166y.AbstractParallelAnyArray
-
- extra166y.ParallelLongArrayWithLongMapping
-
- extra166y.ParallelLongArrayWithFilter
-
- extra166y.ParallelLongArrayWithBounds
-
- Direct Known Subclasses:
ParallelLongArray
public abstract class ParallelLongArrayWithBounds extends ParallelLongArrayWithFilter
A prefix view of ParallelLongArray that causes operations to apply only to elements within a given range. Instances of this class may be constructed only via prefix methods of ParallelLongArray or its other prefix classes.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract int
binarySearch(long target)
Assuming this array is sorted, returns the index of an element equal to given target, or -1 if not present.abstract int
binarySearch(long target, Ops.LongComparator 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.abstract ParallelLongArrayWithBounds
cumulate(Ops.LongReducer reducer, long base)
Replaces each element with the running cumulation of applying the given reducer.abstract ParallelLongArrayWithBounds
cumulateSum()
Replaces each element with the running sumabstract int
indexOf(long target)
Returns the index of some element equal to given target, or -1 if not presentabstract long
precumulate(Ops.LongReducer reducer, long base)
Replaces each element with the cumulation of applying the given reducer to all previous values, and returns the total reduction.abstract long
precumulateSum()
Replaces each element with its prefix sumabstract ParallelLongArrayWithBounds
sort()
Sorts the elements, assuming all elements are Comparable.abstract ParallelLongArrayWithBounds
sort(Ops.LongComparator cmp)
Sorts the elements.abstract ParallelLongArrayWithBounds
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 extra166y.ParallelLongArrayWithFilter
allUniqueElements, hasAllEqualElements, replaceWithGeneratedValue, replaceWithMappedIndex, replaceWithMappedIndex, replaceWithMapping, replaceWithMapping, replaceWithMapping, replaceWithValue, withFilter, withFilter, withIndexedFilter
-
Methods inherited from class extra166y.ParallelLongArrayWithLongMapping
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
-
Methods inherited from class extra166y.AbstractParallelAnyArray
anyIndex, isEmpty, size
-
-
-
-
Method Detail
-
withBounds
public abstract ParallelLongArrayWithBounds 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 ParallelLongArray.- Parameters:
firstIndex
- the lower bound (inclusive)upperBound
- the upper bound (exclusive)- Returns:
- operation prefix
-
indexOf
public abstract int indexOf(long 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
-
binarySearch
public abstract int binarySearch(long 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 abstract int binarySearch(long target, Ops.LongComparator 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 forcomparator
- the comparator- Returns:
- the index or -1 if not present
-
cumulate
public abstract ParallelLongArrayWithBounds cumulate(Ops.LongReducer reducer, long base)
Replaces each element with the running cumulation of applying the given reducer.- Parameters:
reducer
- the reducerbase
- the result for an empty array- Returns:
- this (to simplify use in expressions)
-
cumulateSum
public abstract ParallelLongArrayWithBounds cumulateSum()
Replaces each element with the running sum- Returns:
- this (to simplify use in expressions)
-
precumulate
public abstract long precumulate(Ops.LongReducer reducer, long base)
Replaces each element with the cumulation of applying the given reducer to all previous values, and returns the total reduction.- Parameters:
reducer
- the reducerbase
- the result for an empty array- Returns:
- the total reduction
-
precumulateSum
public abstract long precumulateSum()
Replaces each element with its prefix sum- Returns:
- the total sum
-
sort
public abstract ParallelLongArrayWithBounds sort(Ops.LongComparator 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 abstract ParallelLongArrayWithBounds 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.- Returns:
- this (to simplify use in expressions)
- Throws:
java.lang.ClassCastException
- if any element is not Comparable.
-
-