Class ZeroLengthCycleAnalysis


  • public class ZeroLengthCycleAnalysis
    extends Analysis
    Analysis to check if a cyclic directed graph has a zero-length cycle. A zero-length cycle is a cycle in which the sum of all the values associated with the edges of the cycle is zero.

    Since:
    Ptolemy II 4.0
    Version:
    $Id$
    Author:
    Shahrooz Shahparnia
    Pt.AcceptedRating:
    Red (ssb)
    Pt.ProposedRating:
    Red (shahrooz)
    • Constructor Detail

      • ZeroLengthCycleAnalysis

        public ZeroLengthCycleAnalysis​(Graph graph,
                                       ToDoubleMapping edgeLengths)
        Construct an instance of this class using a default analyzer. The default analyzer runs in O(N^3) in which N is the number of nodes.
        Parameters:
        graph - The given graph.
        edgeLengths - The lengths associated with the edges of the graph.
      • ZeroLengthCycleAnalysis

        public ZeroLengthCycleAnalysis​(ZeroLengthCycleAnalyzer analyzer)
        Construct an instance of this class using a given analyzer.
        Parameters:
        analyzer - The given analyzer.
    • Method Detail

      • hasZeroLengthCycle

        public boolean hasZeroLengthCycle()
        Return true if a zero length cycle exists in the graph under analysis.
        Returns:
        True if the graph has a zero length cycle.
      • toString

        public java.lang.String toString()
        Return a description of the analysis and the associated analyzer.
        Overrides:
        toString in class Analysis
        Returns:
        A description of the analysis and the associated analyzer.
      • validAnalyzerInterface

        public boolean validAnalyzerInterface​(Analyzer analyzer)
        Check if a given analyzer is compatible with this analysis. In other words if it is possible to use it to compute the computation associated with this analysis.
        Overrides:
        validAnalyzerInterface in class Analysis
        Parameters:
        analyzer - The given analyzer.
        Returns:
        True if the given analyzer is valid for this analysis.