class PAS
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) static class |
PAS.FJBase
Base for most divide-and-conquer tasks used for computing
ParallelArray operations.
|
(package private) static class |
PAS.FJCountSelected |
(package private) static class |
PAS.FJDAppendAllDriver |
(package private) static class |
PAS.FJDApply |
(package private) static class |
PAS.FJDBinaryIndexMap |
(package private) static class |
PAS.FJDCMerger |
(package private) static class |
PAS.FJDCombineInPlace |
(package private) static class |
PAS.FJDCSorter |
(package private) static class |
PAS.FJDCumulateOp |
(package private) static class |
PAS.FJDCumulatePlusOp |
(package private) static class |
PAS.FJDFill |
(package private) static class |
PAS.FJDGenerate |
(package private) static class |
PAS.FJDIndexMap |
(package private) static class |
PAS.FJDIndexOf |
(package private) static class |
PAS.FJDMap |
(package private) static class |
PAS.FJDMerger |
(package private) static class |
PAS.FJDPACombineInPlace |
(package private) static class |
PAS.FJDPrecumulateOp |
(package private) static class |
PAS.FJDPrecumulatePlusOp |
(package private) static class |
PAS.FJDReduce |
(package private) static class |
PAS.FJDScan |
(package private) static class |
PAS.FJDScanOp |
(package private) static class |
PAS.FJDScanPlusOp |
(package private) static class |
PAS.FJDSelectAllDriver |
(package private) static class |
PAS.FJDSorter |
(package private) static class |
PAS.FJDStats |
(package private) static class |
PAS.FJDTransform |
(package private) static class |
PAS.FJDUniquifier |
(package private) static class |
PAS.FJLAppendAllDriver |
(package private) static class |
PAS.FJLApply |
(package private) static class |
PAS.FJLBinaryIndexMap |
(package private) static class |
PAS.FJLCMerger |
(package private) static class |
PAS.FJLCombineInPlace |
(package private) static class |
PAS.FJLCSorter |
(package private) static class |
PAS.FJLCumulateOp |
(package private) static class |
PAS.FJLCumulatePlusOp |
(package private) static class |
PAS.FJLFill |
(package private) static class |
PAS.FJLGenerate |
(package private) static class |
PAS.FJLIndexMap |
(package private) static class |
PAS.FJLIndexOf |
(package private) static class |
PAS.FJLMap |
(package private) static class |
PAS.FJLMerger |
(package private) static class |
PAS.FJLPACombineInPlace |
(package private) static class |
PAS.FJLPrecumulateOp |
(package private) static class |
PAS.FJLPrecumulatePlusOp |
(package private) static class |
PAS.FJLReduce |
(package private) static class |
PAS.FJLScan |
(package private) static class |
PAS.FJLScanOp |
(package private) static class |
PAS.FJLScanPlusOp |
(package private) static class |
PAS.FJLSelectAllDriver |
(package private) static class |
PAS.FJLSorter |
(package private) static class |
PAS.FJLStats |
(package private) static class |
PAS.FJLTransform |
(package private) static class |
PAS.FJLUniquifier |
(package private) static class |
PAS.FJOAppendAllDriver |
(package private) static class |
PAS.FJOApply |
(package private) static class |
PAS.FJOBinaryIndexMap |
(package private) static class |
PAS.FJOCMerger |
(package private) static class |
PAS.FJOCombineInPlace |
(package private) static class |
PAS.FJOCSorter |
(package private) static class |
PAS.FJOCumulateOp |
(package private) static class |
PAS.FJOFill |
(package private) static class |
PAS.FJOGenerate |
(package private) static class |
PAS.FJOIndexMap |
(package private) static class |
PAS.FJOIndexOf |
(package private) static class |
PAS.FJOMap |
(package private) static class |
PAS.FJOMerger
Performs merging for FJSorter.
|
(package private) static class |
PAS.FJOPACombineInPlace |
(package private) static class |
PAS.FJOPrecumulateOp |
(package private) static class |
PAS.FJOReduce |
(package private) static class |
PAS.FJOScan |
(package private) static class |
PAS.FJOScanOp |
(package private) static class |
PAS.FJOSelectAllDriver |
(package private) static class |
PAS.FJOSorter
Sorter classes based mainly on CilkSort
Cilk:
Basic algorithm:
if array size is small, just use a sequential quicksort
Otherwise:
1.
|
(package private) static class |
PAS.FJOStats |
(package private) static class |
PAS.FJOTransform |
(package private) static class |
PAS.FJOUniquifier |
(package private) static class |
PAS.FJRemoveAll
Basic FJ task for non-root FJRemoveAll nodes.
|
(package private) static class |
PAS.FJRemoveAllDriver
Root node for FJRemoveAll.
|
(package private) static class |
PAS.FJScan
Cumulative scan
A basic version of scan is straightforward.
|
(package private) static class |
PAS.FJScanOp
Computational operations for FJScan
|
(package private) static class |
PAS.FJSearchBase
Base for cancellable search tasks.
|
(package private) static class |
PAS.FJSelectAll
SelectAll proceeds in two passes.
|
(package private) static class |
PAS.FJSelectAllDriver |
(package private) static class |
PAS.FJSelectAny |
(package private) static class |
PAS.FJSubSorter
Utility class to sort half a partitioned array
|
(package private) static class |
PAS.UniquifierTable
Base class of fixed-size hash tables for
uniquification.
|
Modifier and Type | Field and Description |
---|---|
private static jsr166y.ForkJoinPool |
defaultExecutor
Global default executor
|
(package private) static int |
INSERTION_SORT_THRESHOLD
Cutoff for when to use insertion-sort instead of quicksort
|
private static java.lang.Object |
poolLock
Lock for on-demand initialization of defaultExecutor
|
Modifier | Constructor and Description |
---|---|
private |
PAS() |
Modifier and Type | Method and Description |
---|---|
(package private) static jsr166y.ForkJoinPool |
defaultExecutor() |
(package private) static void |
dquickSort(double[] a,
Ops.DoubleComparator cmp,
int lo,
int hi) |
(package private) static void |
lquickSort(long[] a,
Ops.LongComparator cmp,
int lo,
int hi) |
private static volatile jsr166y.ForkJoinPool defaultExecutor
private static final java.lang.Object poolLock
static final int INSERTION_SORT_THRESHOLD
static jsr166y.ForkJoinPool defaultExecutor()
static void dquickSort(double[] a, Ops.DoubleComparator cmp, int lo, int hi)
static void lquickSort(long[] a, Ops.LongComparator cmp, int lo, int hi)