Interface TabulationResult<T,​P,​F>

  • Type Parameters:
    T - type of node in the supergraph
    P - type of a procedure, like a box in an RSM
    F - type of factoids propagated when solving this problem
    All Known Implementing Classes:
    TabulationSolver.Result

    public interface TabulationResult<T,​P,​F>
    The solution of a tabulation problem: a mapping from supergraph node -> bit vector representing the dataflow facts that hold at the entry to the supergraph node.
    • Method Detail

      • getResult

        IntSet getResult​(T node)
        get the bitvector of facts that hold at IN for a given node in the supergraph.
        Parameters:
        node - a node in the supergraph
        Returns:
        SparseIntSet efficiently representing the bitvector
      • getSupergraphNodesReached

        Collection<T> getSupergraphNodesReached()
        Returns:
        the set of supergraph nodes for which any fact is reached
      • getSummaryTargets

        IntSet getSummaryTargets​(T n1,
                                 int d1,
                                 T n2)
        Parameters:
        n1 -
        d1 -
        n2 -
        Returns:
        set of d2 s.t. (n1,d1) -> (n2,d2) is recorded as a summary edge, or null if none found