org.codehaus.gpars

groovyx.gpars.extra166y
[Java] Class PAS.FJRemoveAllDriver

java.lang.Object
  jsr166y.RecursiveAction
      groovyx.gpars.extra166y.PAS.FJRemoveAllDriver

static final class PAS.FJRemoveAllDriver
extends RecursiveAction

Root node for FJRemoveAll. Spawns subtasks and shifts elements as indices become available, bypassing index array creation when offsets are known. This differs from SelectAll mainly in that data movement is all done by the driver rather than in a second parallel pass.


Field Summary
int hi

int[] indices

int lo

int offset

AbstractParallelAnyArray pap

int threshold

 
Constructor Summary
PAS.FJRemoveAllDriver(AbstractParallelAnyArray pap, int lo, int hi)

 
Method Summary
void compute()

static int inorderMove(FJRemoveAll t, int index)

Inorder traversal to move indexed elements across reachable nodes.

 

Field Detail

hi

final int hi


indices

final int[] indices


lo

final int lo


offset

int offset


pap

final AbstractParallelAnyArray pap


threshold

final int threshold


 
Constructor Detail

PAS.FJRemoveAllDriver

PAS.FJRemoveAllDriver(AbstractParallelAnyArray pap, int lo, int hi)


 
Method Detail

compute

public void compute()


inorderMove

static int inorderMove(FJRemoveAll t, int index)
Inorder traversal to move indexed elements across reachable nodes. This guarantees that element shifts don't overwrite those still being used by active subtasks.


 

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