public final class ComputeLoopFrequenciesClosure extends ReentrantNodeIterator.NodeIteratorClosure<Double>
Modifier and Type | Field and Description |
---|---|
private static ComputeLoopFrequenciesClosure |
INSTANCE |
Modifier | Constructor and Description |
---|---|
private |
ComputeLoopFrequenciesClosure() |
Modifier and Type | Method and Description |
---|---|
protected Double |
afterSplit(AbstractBeginNode node,
Double oldState) |
static void |
compute(StructuredGraph graph)
Computes the frequencies of all loops in the given graph.
|
protected Double |
merge(AbstractMergeNode merge,
List<Double> states) |
static double |
multiplySaturate(double a,
double b)
Multiplies a and b and saturates the result to 1/
#MIN_PROBABILITY . |
protected Map<LoopExitNode,Double> |
processLoop(LoopBeginNode loop,
Double initialState) |
protected Double |
processNode(FixedNode node,
Double currentState) |
continueIteration
private static final ComputeLoopFrequenciesClosure INSTANCE
private ComputeLoopFrequenciesClosure()
protected Double processNode(FixedNode node, Double currentState)
processNode
in class ReentrantNodeIterator.NodeIteratorClosure<Double>
protected Double merge(AbstractMergeNode merge, List<Double> states)
merge
in class ReentrantNodeIterator.NodeIteratorClosure<Double>
protected Double afterSplit(AbstractBeginNode node, Double oldState)
afterSplit
in class ReentrantNodeIterator.NodeIteratorClosure<Double>
protected Map<LoopExitNode,Double> processLoop(LoopBeginNode loop, Double initialState)
processLoop
in class ReentrantNodeIterator.NodeIteratorClosure<Double>
public static double multiplySaturate(double a, double b)
#MIN_PROBABILITY
.#MIN_PROBABILITY
public static void compute(StructuredGraph graph)