|
||||||||||
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 SIRStream
public CType getInputType()
getInputType
in class SIRStream
public int getPushForSchedule(HashMap[] counts)
SIRStream
getPushForSchedule
in class SIRStream
public int getPopForSchedule(HashMap[] counts)
SIRStream
getPopForSchedule
in class SIRStream
public void setParallelStreams(LinkedList<Object> children)
public void replace(SIRStream oldStr, SIRStream newStr)
replace
in class SIRContainer
public LIRStreamType getStreamType()
getStreamType
in class SIRStream
public List<SIROperator> getChildren()
getChildren
in class SIRContainer
public void reclaimChildren()
SIRContainer
reclaimChildren
in class SIRContainer
public List<SIRStream> getParallelStreams()
public void rescale()
public boolean isRectangular()
public void makeRectangular()
public int getRectangularHeight()
public List<SIROperator[]> getTapePairs()
getTapePairs
in class SIRContainer
public SIROperator getSuccessor(SIRStream child)
getSuccessor
in class SIRContainer
public Object accept(AttributeStreamVisitor v)
accept
in class SIROperator
public String toString()
toString
in class SIRStream
public Object deepClone()
deepClone
in interface DeepCloneable
deepClone
in class SIRContainer
protected void deepCloneInto(SIRSplitJoin other)
other
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |