コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="MaximalNonzeroEquivalenceClassRepresentativeComputationSettings"/> class
 /// using a specified maximum path length and early termination condition.
 /// </summary>
 /// <param name="cancellativityFailureDetection">A
 /// <see cref="CancellativityTypes"/> value indicating which types of cancellativity to
 /// detect failures of.</param>
 /// <param name="maxPathLength">The maximum path length in arrows (i.e., the value such
 /// that if a path of length greater than the value is encountered during the analysis, the
 /// analysis is to be aborted), or a negative value if no maximum path length is to be
 /// used.</param>
 /// <param name="earlyTerminationConditions">A value of the
 /// <see cref="Analysis.EarlyTerminationConditions"/> enum indicating the conditions on
 /// which the analysis should terminate early.</param>
 public MaximalNonzeroEquivalenceClassRepresentativeComputationSettings(
     CancellativityTypes cancellativityFailureDetection,
     int maxPathLength,
     EarlyTerminationConditions earlyTerminationConditions)
     : base(cancellativityFailureDetection, maxPathLength, earlyTerminationConditions)
 {
 }
コード例 #2
0
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="SemimonomialUnboundQuiverAnalysisSettings"/> class using a specified maximum
 /// path length and early termination condition.
 /// </summary>
 /// <param name="cancellativityFailureDetection">A
 /// <see cref="CancellativityTypes"/> value indicating which types of cancellativity to
 /// detect failures of.</param>
 /// <param name="maxPathLength">The maximum path length in arrows (i.e., the value such
 /// that if a path of length greater than the value is encountered during the analysis, the
 /// analysis is to be aborted), or a negative value if no maximum path length is to be
 /// used.</param>
 /// <param name="earlyTerminationConditions">A value of the
 /// <see cref="Analysis.EarlyTerminationConditions"/> enum indicating the conditions on
 /// which the analysis should terminate early.</param>
 public SemimonomialUnboundQuiverAnalysisSettings(
     CancellativityTypes cancellativityFailureDetection,
     int maxPathLength,
     EarlyTerminationConditions earlyTerminationConditions)
     : base(cancellativityFailureDetection, maxPathLength, earlyTerminationConditions)
 {
 }
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QPAnalysisSettings"/> class using a
 /// specified maximum path length and early termination condition.
 /// </summary>
 /// <param name="cancellativityFailureDetection">A
 /// <see cref="CancellativityTypes"/> value indicating which types of cancellativity to
 /// detect failures of.</param>
 /// <param name="maxPathLength">The maximum path length in arrows (i.e., the value such
 /// that if a path of length greater than the value is encountered during the analysis, the
 /// analysis is to be aborted), or a negative value if no maximum path length is to be
 /// used.</param>
 /// <param name="earlyTerminationConditions">A value of the
 /// <see cref="Analysis.EarlyTerminationConditions"/> enum indicating the conditions on
 /// which the analysis should terminate early.</param>
 public QPAnalysisSettings(
     CancellativityTypes cancellativityFailureDetection,
     int maxPathLength,
     EarlyTerminationConditions earlyTerminationConditions)
     : base(cancellativityFailureDetection, maxPathLength, earlyTerminationConditions)
 {
 }
コード例 #4
0
 private MaximalNonzeroEquivalenceClassRepresentativeComputationSettings GetSettings(
     CancellativityTypes cancellativityFailureDetection,
     int maxPathLength = -1,
     EarlyTerminationConditions earlyTerminationCondition = EarlyTerminationConditions.None)
 {
     return(new MaximalNonzeroEquivalenceClassRepresentativeComputationSettings(cancellativityFailureDetection, maxPathLength, earlyTerminationCondition));
 }
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="MaximalNonzeroEquivalenceClassRepresentativesResults{TVertex}"/> class.
 /// </summary>
 /// <param name="cancellativityFailuresDetected">A <see cref="CancellativityTypes"/> value
 /// indicating which types of cancellativity was detected to fail.</param>
 /// <param name="tooLongPathEncountered">A boolean value indicating whether a path
 /// exceeding the max length of the analysis settings was encountered.</param>
 /// <param name="maximalNonzeroEquivalenceClassRepresentatives">A collection of maximal
 /// nonzero-equivalent paths, one for each maximal nonzero equivalence class.</param>
 /// <param name="longestPathEncountered">The longest path encountered.</param>
 public MaximalNonzeroEquivalenceClassRepresentativesResults(
     CancellativityTypes cancellativityFailuresDetected,
     bool tooLongPathEncountered,
     IEnumerable <Path <TVertex> > maximalNonzeroEquivalenceClassRepresentatives,
     Path <TVertex> longestPathEncountered)
 {
     CancellativityFailuresDetected = cancellativityFailuresDetected;
     TooLongPathEncountered         = tooLongPathEncountered;
     MaximalNonzeroEquivalenceClassRepresentatives = maximalNonzeroEquivalenceClassRepresentatives
                                                     ?? throw new ArgumentNullException(nameof(maximalNonzeroEquivalenceClassRepresentatives));
     LongestPathEncountered = longestPathEncountered ?? throw new ArgumentNullException(nameof(longestPathEncountered));
 }
コード例 #6
0
 internal AnalysisResultsForSingleStartingVertex(
     AnalysisStateForSingleStartingVertex <TVertex> state,
     CancellativityTypes cancellativityFailuresDetected)
     : this(
         state.ZeroDummyNode,
         state.SearchTree,
         state.MaximalPathRepresentatives,
         state.EquivalenceClasses,
         cancellativityFailuresDetected,
         state.TooLongPathEncountered,
         state.LongestPathEncounteredNode)
 {
 }
コード例 #7
0
 internal AnalysisResultsForSingleStartingVertex(
     SearchTreeNode <TVertex> zeroDummyNode,
     SearchTreeNode <TVertex> searchTree,
     IEnumerable <SearchTreeNode <TVertex> > maximalPathRepresentatives,
     DisjointSets <SearchTreeNode <TVertex> > equivalenceClasses,
     CancellativityTypes cancellativityFailuresDetected,
     bool tooLongPathEncountered,
     Path <TVertex> longestPathEncountered)
 {
     ZeroDummyNode = zeroDummyNode;
     SearchTree    = searchTree;
     MaximalPathRepresentatives     = maximalPathRepresentatives;
     EquivalenceClasses             = equivalenceClasses;
     CancellativityFailuresDetected = cancellativityFailuresDetected;
     TooLongPathEncountered         = tooLongPathEncountered;
     LongestPathEncountered         = longestPathEncountered;
 }
コード例 #8
0
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="MaximalNonzeroEquivalenceClassRepresentativeComputationSettings"/>
 /// class.
 /// </summary>
 /// <param name="cancellativityFailureDetection">A
 /// <see cref="CancellativityTypes"/> value indicating which types of cancellativity to
 /// detect failures of.</param>
 public MaximalNonzeroEquivalenceClassRepresentativeComputationSettings(CancellativityTypes cancellativityFailureDetection)
     : this(cancellativityFailureDetection, maxPathLength : -1, EarlyTerminationConditions.None)
 {
 }
コード例 #9
0
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="SemimonomialUnboundQuiverAnalysisSettings"/> class.
 /// </summary>
 /// <param name="cancellativityFailureDetection">A
 /// <see cref="CancellativityTypes"/> value indicating which types of cancellativity to
 /// detect failures of.</param>
 public SemimonomialUnboundQuiverAnalysisSettings(CancellativityTypes cancellativityFailureDetection)
     : this(cancellativityFailureDetection, maxPathLength : -1, EarlyTerminationConditions.None)
 {
 }
 private static QPAnalysisSettings CreateSettings(CancellativityTypes cancellativityFailureDetection)
 {
     return(new QPAnalysisSettings(cancellativityFailureDetection));
 }
コード例 #11
0
 private MaximalNonzeroEquivalenceClassRepresentativeComputationSettings GetSettings(CancellativityTypes cancellativityFailureDetection)
 {
     return(new MaximalNonzeroEquivalenceClassRepresentativeComputationSettings(cancellativityFailureDetection));
 }
コード例 #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QPAnalysisSettings"/> class.
 /// </summary>
 /// <param name="cancellativityFailureDetection">A
 /// <see cref="CancellativityTypes"/> value indicating which types of cancellativity to
 /// detect failures of.</param>
 public QPAnalysisSettings(CancellativityTypes cancellativityFailureDetection)
     : this(cancellativityFailureDetection, maxPathLength : -1, EarlyTerminationConditions.None)
 {
 }