/// <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) { }
/// <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) { }
/// <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) { }
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)); }
internal AnalysisResultsForSingleStartingVertex( AnalysisStateForSingleStartingVertex <TVertex> state, CancellativityTypes cancellativityFailuresDetected) : this( state.ZeroDummyNode, state.SearchTree, state.MaximalPathRepresentatives, state.EquivalenceClasses, cancellativityFailuresDetected, state.TooLongPathEncountered, state.LongestPathEncounteredNode) { }
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; }
/// <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) { }
/// <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)); }
private MaximalNonzeroEquivalenceClassRepresentativeComputationSettings GetSettings(CancellativityTypes cancellativityFailureDetection) { return(new MaximalNonzeroEquivalenceClassRepresentativeComputationSettings(cancellativityFailureDetection)); }
/// <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) { }