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) |
continueIterationprivate 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_PROBABILITYpublic static void compute(StructuredGraph graph)