groovyx.gpars.extra166y
Class PAS

java.lang.Object
  extended by groovyx.gpars.extra166y.PAS

 class PAS
extends java.lang.Object

Shared internal execution support for ParallelArray and specializations.


Nested Class Summary
(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.
 
Field Summary
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
 
Constructor Summary
private PAS()
           
 
Method Summary
(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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

defaultExecutor

private static volatile jsr166y.ForkJoinPool defaultExecutor
Global default executor


poolLock

private static final java.lang.Object poolLock
Lock for on-demand initialization of defaultExecutor


INSERTION_SORT_THRESHOLD

static final int INSERTION_SORT_THRESHOLD
Cutoff for when to use insertion-sort instead of quicksort

See Also:
Constant Field Values
Constructor Detail

PAS

private PAS()
Method Detail

defaultExecutor

static jsr166y.ForkJoinPool defaultExecutor()

dquickSort

static void dquickSort(double[] a,
                       Ops.DoubleComparator cmp,
                       int lo,
                       int hi)

lquickSort

static void lquickSort(long[] a,
                       Ops.LongComparator cmp,
                       int lo,
                       int hi)

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