- java.lang.Object
-
- it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint<G,N,E,T>
-
- Type Parameters:
N- the type of theNodes in the source graphE- the type of theEdges in the source graphG- the type of the sourceGraphT- the type of data computed by the fixpoint
public class Fixpoint<G extends Graph<G,N,E>,N extends Node<N,E,G>,E extends Edge<N,E,G>,T> extends java.lang.ObjectA fixpoint algorithm for aGraph, parametric to theFixpoint.FixpointImplementationthat one wants to use to compute the results.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceFixpoint.FixpointImplementation<N,E,T>Concrete implementation of the general methods used by a fixpoint algorithm to perform.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<N,T>fixpoint(java.util.Map<N,T> startingPoints, WorkingSet<N> ws, Fixpoint.FixpointImplementation<N,E,T> implementation)Runs the fixpoint.
-
-
-
Method Detail
-
fixpoint
public java.util.Map<N,T> fixpoint(java.util.Map<N,T> startingPoints, WorkingSet<N> ws, Fixpoint.FixpointImplementation<N,E,T> implementation) throws FixpointException
Runs the fixpoint. Invoking this method effectively recomputes the result: no caching on previous runs is executed.- Parameters:
startingPoints- a map containing all the nodes to start the fixpoint at, each mapped to its entry state.ws- the instance ofWorkingSetto use for the fixpointimplementation- theFixpoint.FixpointImplementationto use for running the fixpoint- Returns:
- a mapping from each (reachable) node of the source graph to the fixpoint result computed at that node
- Throws:
FixpointException- if something goes wrong during the fixpoint execution
-
-