|
||||||||||
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.SIRFeedbackLoop
public class SIRFeedbackLoop
This represents a feedback loop construct.
Field Summary | |
---|---|
static int |
BODY
These constants are used for addressing the children of a feedback loop. |
static int |
LOOP
|
Fields inherited from class at.dms.kjc.sir.SIRStream |
---|
fields, ident, init, methods, work |
Constructor Summary | |
---|---|
SIRFeedbackLoop()
Construct a new SIRPipeline null fields, parent, and methods |
|
SIRFeedbackLoop(SIRContainer parent,
String ident)
Construct a new SIRPipeline with empty fields and methods. |
|
SIRFeedbackLoop(SIRContainer parent,
String ident,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods)
Construct a new SIRPipeline with the given fields and methods. |
Method Summary | |
---|---|
Object |
accept(AttributeStreamVisitor v)
Accepts attribute visitor |
boolean |
contains(SIROperator str)
Whether or not |
Object |
deepClone()
Returns a deep clone of this object. |
protected void |
deepCloneInto(SIRFeedbackLoop other)
Clones all fields of this into |
SIRStream |
getBody()
Returns body of this. |
String |
getChildName(SIROperator str)
Returns the relative name by which this object refers to child |
List<SIROperator> |
getChildren()
Returns a list of the children of this. |
JExpression |
getDelay()
get the delay of the feedback loop |
int |
getDelayInt()
Retrieve the delay of this as an int (requires that constants have been propagated). |
JMethodDeclaration |
getInitPath()
Returns the path-initialization function of this. |
CType |
getInputType()
Returns the input type of this. |
SIRJoiner |
getJoiner()
Returns joiner of this. |
SIRStream |
getLoop()
Returns loop of this. |
CType |
getOutputType()
Returns the output type of 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 |
SIRSplitter |
getSplitter()
Returns splitter of this. |
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. |
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 |
setBody(SIRStream body)
Set the Body of the feedback loop, and the parent of to this. |
void |
setDelay(JExpression delay)
Set the delay of the feedback loop |
void |
setInitPath(JMethodDeclaration newInitPath)
Set the Init Path method of the feedback loop |
void |
setJoiner(SIRJoiner joiner)
Set the Joiner of the feedback loop, and sets the parent of |
void |
setLoop(SIRStream loop)
Set the Body of the feedback loop |
void |
setSplitter(SIRSplitter splitter)
Set the Splitter of the feedback loop, and sets the parent of |
String |
toString()
|
Methods inherited from class at.dms.kjc.sir.SIRContainer |
---|
add, add, add, add, clear, 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 |
Field Detail |
---|
public static final int BODY
public static final int LOOP
Constructor Detail |
---|
public SIRFeedbackLoop()
public SIRFeedbackLoop(SIRContainer parent, String ident, JFieldDeclaration[] fields, JMethodDeclaration[] methods)
public SIRFeedbackLoop(SIRContainer parent, String ident)
Method Detail |
---|
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 LIRStreamType getStreamType()
getStreamType
in class SIRStream
public String getChildName(SIROperator str)
public void replace(SIRStream oldStr, SIRStream newStr)
replace
in class SIRContainer
public void rescale()
public List<SIROperator> getChildren()
getChildren
in class SIRContainer
public void reclaimChildren()
SIRContainer
reclaimChildren
in class SIRContainer
public SIROperator getSuccessor(SIRStream child)
getSuccessor
in class SIRContainer
public List<SIROperator[]> getTapePairs()
getTapePairs
in class SIRContainer
public Object accept(AttributeStreamVisitor v)
accept
in class SIROperator
public void setBody(SIRStream body)
public void setLoop(SIRStream loop)
public void setJoiner(SIRJoiner joiner)
public void setSplitter(SIRSplitter splitter)
public void setDelay(JExpression delay)
public JExpression getDelay()
public int getDelayInt()
public boolean contains(SIROperator str)
contains
in class SIRContainer
public void setInitPath(JMethodDeclaration newInitPath)
public SIRStream getBody()
public SIRStream getLoop()
public SIRJoiner getJoiner()
public SIRSplitter getSplitter()
public JMethodDeclaration getInitPath()
public String toString()
toString
in class SIRStream
public Object deepClone()
deepClone
in interface DeepCloneable
deepClone
in class SIRContainer
protected void deepCloneInto(SIRFeedbackLoop other)
other
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |