|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectat.dms.kjc.sir.SIROperator
at.dms.kjc.sir.SIRStream
at.dms.kjc.sir.SIRContainer
at.dms.kjc.sir.SIRSplitJoin
public class SIRSplitJoin
This represents a SplitJoin construct.
| Field Summary |
|---|
| Fields inherited from class at.dms.kjc.sir.SIRStream |
|---|
fields, ident, init, methods, work |
| Constructor Summary | |
|---|---|
SIRSplitJoin()
Construct a new SIRPipeline with null fields, parent, and methods. |
|
SIRSplitJoin(SIRContainer parent,
String ident)
Construct a new SIRSplitJoin with empty fields and methods. |
|
SIRSplitJoin(SIRContainer parent,
String ident,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods)
Construct a new SIRSplitJoin with the given fields and methods. |
|
| Method Summary | |
|---|---|
Object |
accept(AttributeStreamVisitor v)
Accepts attribute visitor |
Object |
deepClone()
Returns a deep clone of this object. |
protected void |
deepCloneInto(SIRSplitJoin other)
Clones all fields of this into |
List<SIROperator> |
getChildren()
Returns a list of the children of this. |
CType |
getInputType()
Returns the input type of this. |
SIRJoiner |
getJoiner()
gets the joinger. |
CType |
getOutputType()
Returns the output type of this. |
List<SIRStream> |
getParallelStreams()
Returns a list of the parallel streams in this. |
int |
getPopForSchedule(HashMap[] counts)
Same as getPushForSchedule, but with pop instead of push. |
int |
getPushForSchedule(HashMap[] counts)
Returns the number of items pushed out of this stream in one execution of the steady-state, given the steady-state execution counts specified by |
int |
getRectangularHeight()
If this is a rectangular splitjoin, returns the "height" of all streams in the rectangule (see getComponentHeight). |
SIRSplitter |
getSplitter()
gets the splitter. |
LIRStreamType |
getStreamType()
Returns the type of this stream. |
SIROperator |
getSuccessor(SIRStream child)
Overrides SIRStream.getSuccessor. |
List<SIROperator[]> |
getTapePairs()
Returns a list of tuples (two-element arrays) of SIROperators, representing a tape from the first element of each tuple to the second. |
boolean |
isRectangular()
Returns whether or not all streams in this have the same "height" (see getComponentHeight). |
void |
makeRectangular()
If this is not rectangular, then pad the shorter streams in this with Identity filters until all component streams have the same length. |
void |
reclaimChildren()
Resets all children of this to have this as their parent, and calls reclaimChildren on all children that are containers. |
void |
replace(SIRStream oldStr,
SIRStream newStr)
See documentation in SIRContainer. |
void |
rescale()
|
void |
setJoiner(SIRJoiner j)
sets the joiner for this SplitJoin, and sets the parent of |
void |
setParallelStreams(LinkedList<Object> children)
Sets the parallel streams in this, and resets the count on the splitters and joiners, if they depended on the number of |
void |
setSplitter(SIRSplitter s)
sets the splitter for this SplitJoin, and sets the parent of s to be this. |
String |
toString()
|
| Methods inherited from class at.dms.kjc.sir.SIRContainer |
|---|
add, add, add, add, clear, contains, deepCloneInto, destroy, get, getParams, getParams, indexOf, makeWrapper, myChildren, myParams, remove, remove, set, setParams, size |
| Methods inherited from class at.dms.kjc.sir.SIRStream |
|---|
addField, addField, addFields, addFields, addMethod, addMethods, addReplacementMethod, deepCloneInto, getFields, getIdent, getInit, getMethods, getStreamWithNumber, getTypeNameInC, getWork, hasMethod, insideFeedbackLoop, makeEmptyInit, makeEmptyInitWork, makeEmptyWork, needsInit, needsWork, setFields, setIdent, setInit, setInitWithoutReplacement, setMethods, setWork |
| Methods inherited from class at.dms.kjc.sir.SIROperator |
|---|
assertMutable, deepCloneInto, getAncestors, getName, getNumber, getParent, getParents, getParentStructureAccess, getRelativeName, getShortIdent, hashCode, readResolve, setParent |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public SIRSplitJoin(SIRContainer parent,
String ident,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods)
public SIRSplitJoin(SIRContainer parent,
String ident)
public SIRSplitJoin()
| Method Detail |
|---|
public void setSplitter(SIRSplitter s)
public SIRSplitter getSplitter()
public void setJoiner(SIRJoiner j)
public SIRJoiner getJoiner()
public CType getOutputType()
getOutputType in class SIRStreampublic CType getInputType()
getInputType in class SIRStreampublic int getPushForSchedule(HashMap[] counts)
SIRStream
getPushForSchedule in class SIRStreampublic int getPopForSchedule(HashMap[] counts)
SIRStream
getPopForSchedule in class SIRStreampublic void setParallelStreams(LinkedList<Object> children)
public void replace(SIRStream oldStr,
SIRStream newStr)
replace in class SIRContainerpublic LIRStreamType getStreamType()
getStreamType in class SIRStreampublic List<SIROperator> getChildren()
getChildren in class SIRContainerpublic void reclaimChildren()
SIRContainer
reclaimChildren in class SIRContainerpublic List<SIRStream> getParallelStreams()
public void rescale()
public boolean isRectangular()
public void makeRectangular()
public int getRectangularHeight()
public List<SIROperator[]> getTapePairs()
getTapePairs in class SIRContainerpublic SIROperator getSuccessor(SIRStream child)
getSuccessor in class SIRContainerpublic Object accept(AttributeStreamVisitor v)
accept in class SIROperatorpublic String toString()
toString in class SIRStreampublic Object deepClone()
deepClone in interface DeepCloneabledeepClone in class SIRContainerprotected void deepCloneInto(SIRSplitJoin other)
other
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||