at.dms.kjc.iterator
Class SIRFineGrainedSplitJoinIter

java.lang.Object
  extended by at.dms.kjc.iterator.SIRIterator
      extended by at.dms.kjc.iterator.SIRSplitJoinIter
          extended by at.dms.kjc.iterator.SIRFineGrainedSplitJoinIter
All Implemented Interfaces:
Iterator, IteratorBase, JoinerIter, SplitJoinIter, SplitterIter, SplitterNJoinerIter

public class SIRFineGrainedSplitJoinIter
extends SIRSplitJoinIter

FineGrainedIterFactory uses this for SIRSplitJoiner Includes extra methods as appropriate.


Field Summary
 
Fields inherited from class at.dms.kjc.iterator.SIRSplitJoinIter
obj
 
Fields inherited from class at.dms.kjc.iterator.SIRIterator
factory
 
Method Summary
 int getJoinerNumWork()
          Returns the number of work functions for the Joiner of this Stream.
 int[] getJoinPopWeights(int nWork)
          Returns distribution of weights on a particular invocation of work function for Joiner of this SplitJoin.
 int getJoinPush(int nWork)
          Returns number of data items produced by a particular invocation of work function for Joiner of this SplitJoin.
 int getSplitPop(int nWork)
          Returns number of data items consumed by a particular invocation of work function for Splitter of this Stream.
 int[] getSplitPushWeights(int nWork)
          Returns distribution of weights on a particular invocation of work function for Splitter of this Stream.
 int getSplitterNumWork()
          Returns the number of work functions for this Splitter.
 
Methods inherited from class at.dms.kjc.iterator.SIRSplitJoinIter
accept, get, getChild, getFanIn, getFanOut, getJoinerWork, getNumChildren, getSplitterWork, getStream, getUnspecializedIter, isSplitJoin
 
Methods inherited from class at.dms.kjc.iterator.SIRIterator
checkValidity, equals, getObject, getParent, getParents, getPos, getRelativeName, hashCode, invalidateNode, invalidateTree, isFeedbackLoop, isFilter, isPipeline
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface streamit.scheduler2.iriter.IteratorBase
equals, getObject, hashCode
 

Method Detail

getSplitterNumWork

public int getSplitterNumWork()
Returns the number of work functions for this Splitter.

Specified by:
getSplitterNumWork in interface SplitterIter
Overrides:
getSplitterNumWork in class SIRSplitJoinIter
Returns:
number of work functions for this Splitter

getSplitPushWeights

public int[] getSplitPushWeights(int nWork)
Returns distribution of weights on a particular invocation of work function for Splitter of this Stream. The distribution is simply an array of ints, with numChildren elements. The value at index 0 corresponds to number of items pushed out to 1st child, etc.

Specified by:
getSplitPushWeights in interface SplitterIter
Overrides:
getSplitPushWeights in class SIRSplitJoinIter
Returns:
distribution of weights on a particular invocation of work function for the Splitter of this Stream.

getSplitPop

public int getSplitPop(int nWork)
Returns number of data items consumed by a particular invocation of work function for Splitter of this Stream. These are the items that will end up being pushed out to the children of this Stream.

Specified by:
getSplitPop in interface SplitterIter
Overrides:
getSplitPop in class SIRSplitJoinIter
Returns:
number of data items consumed by a particular invocation of work function for Splitter of this Stream.

getJoinerNumWork

public int getJoinerNumWork()
Returns the number of work functions for the Joiner of this Stream.

Specified by:
getJoinerNumWork in interface JoinerIter
Overrides:
getJoinerNumWork in class SIRSplitJoinIter
Returns:
number of work functions for the JOiner of this Stream

getJoinPopWeights

public int[] getJoinPopWeights(int nWork)
Returns distribution of weights on a particular invocation of work function for Joiner of this SplitJoin. The distribution is simply an array of ints, with numChildren elements. The value at index 0 corresponds to number of items popped from 1st child, etc.

Specified by:
getJoinPopWeights in interface JoinerIter
Overrides:
getJoinPopWeights in class SIRSplitJoinIter
Returns:
distribution of weights on a particular invocation of work function for Joiner of this SplitJoin.

getJoinPush

public int getJoinPush(int nWork)
Returns number of data items produced by a particular invocation of work function for Joiner of this SplitJoin. These are the items that were consumed from various children of this SplitJoin.

Specified by:
getJoinPush in interface JoinerIter
Overrides:
getJoinPush in class SIRSplitJoinIter
Returns:
number of data items produced by a particular invocation of work function for Joiner of this SplitJoin.