public final class LoopVertex extends IRVertex
Constructor and Description |
---|
LoopVertex(String compositeTransformFullName)
The LoopVertex constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addDagIncomingEdge(IREdge edge)
Adds the incoming edge of the contained DAG.
|
void |
addDagOutgoingEdge(IREdge edge)
Adds and outgoing edge of the contained DAG.
|
void |
addIterativeIncomingEdge(IREdge edge)
Adds an iterative incoming edge, from the previous iteration, but connection internally.
|
void |
addNonIterativeIncomingEdge(IREdge edge)
Adds a non-iterative incoming edge, from outside the previous iteration.
|
DAGBuilder<IRVertex,IREdge> |
getBuilder() |
LoopVertex |
getClone() |
DAG<IRVertex,IREdge> |
getDAG() |
Map<IRVertex,Set<IREdge>> |
getDagIncomingEdges() |
Map<IRVertex,Set<IREdge>> |
getDagOutgoingEdges() |
IREdge |
getEdgeWithLoop(IREdge edgeWithInternalVertex) |
Map<IRVertex,Set<IREdge>> |
getIterativeIncomingEdges() |
Integer |
getMaxNumberOfIterations() |
String |
getName() |
Map<IRVertex,Set<IREdge>> |
getNonIterativeIncomingEdges() |
IntPredicate |
getTerminationCondition() |
void |
increaseMaxNumberOfIterations()
increase the value of maximum number of iterations by 1.
|
Boolean |
loopTerminationConditionMet() |
Boolean |
loopTerminationConditionMet(Integer intPredicateInput) |
void |
mapEdgeWithLoop(IREdge edgeWithLoop,
IREdge edgeWithInternalVertex)
Maps an edge from/to loop with the corresponding edge from/to internal vertex.
|
String |
propertiesToJSON() |
void |
setMaxNumberOfIterations(Integer maxNum)
Set the maximum number of iterations.
|
void |
setTerminationCondition(IntPredicate terminationCondition)
Set the intPredicate termination condition for the LoopVertex.
|
LoopVertex |
unRollIteration(DAGBuilder<IRVertex,IREdge> dagBuilder)
Method for unrolling an iteration of the LoopVertex.
|
copyExecutionPropertiesTo, getExecutionProperties, getProperty, irVertexPropertiesToString, setProperty
getId, getNumericId
public LoopVertex(String compositeTransformFullName)
compositeTransformFullName
- full name of the composite transform.public LoopVertex getClone()
public DAGBuilder<IRVertex,IREdge> getBuilder()
public String getName()
public void mapEdgeWithLoop(IREdge edgeWithLoop, IREdge edgeWithInternalVertex)
edgeWithLoop
- an edge from/to loopedgeWithInternalVertex
- the corresponding edge from/to internal vertexpublic IREdge getEdgeWithLoop(IREdge edgeWithInternalVertex)
edgeWithInternalVertex
- an edge with internal vertexpublic void addDagIncomingEdge(IREdge edge)
edge
- edge to add.public Map<IRVertex,Set<IREdge>> getDagIncomingEdges()
public void addIterativeIncomingEdge(IREdge edge)
edge
- edge to add.public Map<IRVertex,Set<IREdge>> getIterativeIncomingEdges()
public void addNonIterativeIncomingEdge(IREdge edge)
edge
- edge to add.public Map<IRVertex,Set<IREdge>> getNonIterativeIncomingEdges()
public void addDagOutgoingEdge(IREdge edge)
edge
- edge to add.public Map<IRVertex,Set<IREdge>> getDagOutgoingEdges()
public LoopVertex unRollIteration(DAGBuilder<IRVertex,IREdge> dagBuilder)
dagBuilder
- DAGBuilder to add the unrolled iteration to.public Boolean loopTerminationConditionMet()
public Boolean loopTerminationConditionMet(Integer intPredicateInput)
intPredicateInput
- input for the intPredicate of the loop termination condition.public void setMaxNumberOfIterations(Integer maxNum)
maxNum
- maximum number of iterations.public IntPredicate getTerminationCondition()
public Integer getMaxNumberOfIterations()
public void increaseMaxNumberOfIterations()
public void setTerminationCondition(IntPredicate terminationCondition)
terminationCondition
- the termination condition to set.public String propertiesToJSON()
propertiesToJSON
in class Vertex
Copyright © 2018. All rights reserved.