|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.kjc.slicegraph.SliceNode
at.dms.kjc.slicegraph.OutputSliceNode
public class OutputSliceNode
Each slice is terminated by an OutputSliceNode that has single input (the last filter) and multiple outputs (to downstream slices through edges).
Constructor Summary | |
---|---|
OutputSliceNode()
Construct a nre output slice node. |
|
OutputSliceNode(int[] weights)
Construct a new output slice node based on the array weights. |
|
OutputSliceNode(int[] weights,
InterSliceEdge[][] dests)
Construct a new output slice node based on the arrays weights and dests. |
|
OutputSliceNode(LinkedList<Integer> weights,
LinkedList<LinkedList<InterSliceEdge>> dests)
Construct a new output slice node based on the lists weights and dests. |
Method Summary | |
---|---|
void |
canonicalize()
Combine the weights of adajacent outputs that have equal destinations. |
String |
debugString(boolean escape)
|
Set<InputSliceNode> |
fileOutputs()
|
InterSliceEdge[] |
getDestList()
Return a list of the dests in round-robin order flattening the duplicates. |
InterSliceEdge[][] |
getDests()
|
LinkedList<InterSliceEdge> |
getDestSequence()
Return a list of the edges with each edge appearing once and ordered by the order in which each edge appears in the split pattern. |
Set<InterSliceEdge> |
getDestSet()
Return the set of the outgoing edges of this OutputSliceNode. |
String |
getIdent()
|
FilterSliceNode |
getPrevFilter()
|
InterSliceEdge |
getSingleEdge()
|
List<InterSliceEdge> |
getSortedOutputs()
return an iterator that iterates over the inputslicenodes in descending order of the number of items sent to the inputslicenode |
CType |
getType()
type is output type of previous filter |
int |
getWeight(InterSliceEdge in)
return the number of items sent by this output slice node on all instances of a particular edge. |
int[] |
getWeights()
|
int |
getWidth()
Return the width of this splitter meaning the number of connections it has to downstream slices, including all the edges of a duplicated item, counting each unique edge once. |
boolean |
hasFileOutput()
|
boolean |
isDuplicateSplitter()
|
boolean |
isFileInput()
|
boolean |
isRRSplitter()
|
boolean |
isSplitter()
|
boolean |
noOutputs()
|
boolean |
oneOutput()
|
double |
ratio(InterSliceEdge edge)
|
void |
set(LinkedList<Integer> weights,
LinkedList<LinkedList<InterSliceEdge>> dests)
Set the weights and dests of this input slice node to weights and dests. |
void |
setDests(InterSliceEdge[][] dests)
Set dests |
void |
setWeights(int[] newW)
Set the weights |
int |
totalWeights()
|
Methods inherited from class at.dms.kjc.slicegraph.SliceNode |
---|
getAsFilter, getAsInput, getAsOutput, getEdgeToNext, getNext, getParent, getPrevious, isFilterSlice, isInputSlice, isOutputSlice, setNext, setParent, setPrevious |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public OutputSliceNode(int[] weights, InterSliceEdge[][] dests)
weights
- The array of weightsdests
- The array of dests.public OutputSliceNode(LinkedList<Integer> weights, LinkedList<LinkedList<InterSliceEdge>> dests)
weights
- The list of weightsdests
- The list of dests.public OutputSliceNode(int[] weights)
weights
- The array of weightspublic OutputSliceNode()
Method Detail |
---|
public void setWeights(int[] newW)
public void set(LinkedList<Integer> weights, LinkedList<LinkedList<InterSliceEdge>> dests)
weights
- List of integer weights.dests
- List of Lists of Edge for splitting pattern.public int[] getWeights()
public boolean isFileInput()
public InterSliceEdge[][] getDests()
public void setDests(InterSliceEdge[][] dests)
public String getIdent()
public int totalWeights()
public void canonicalize()
InputSliceNode.canonicalize()
being run on all input nodes whose edges are combined by canonicalize.
public int getWidth()
public LinkedList<InterSliceEdge> getDestSequence()
public int getWeight(InterSliceEdge in)
public CType getType()
public InterSliceEdge[] getDestList()
public Set<InterSliceEdge> getDestSet()
public boolean oneOutput()
public InterSliceEdge getSingleEdge()
public boolean noOutputs()
public boolean isDuplicateSplitter()
public boolean isRRSplitter()
public boolean isSplitter()
public List<InterSliceEdge> getSortedOutputs()
public FilterSliceNode getPrevFilter()
public double ratio(InterSliceEdge edge)
public String debugString(boolean escape)
public boolean hasFileOutput()
public Set<InputSliceNode> fileOutputs()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |