pub fn resolve<Tally:Clone+Hash+Ord+Display+FromStr>(self,tied_candidates: &mut [CandidateIndex],transcript:  &Transcript<Tally>,granularity:TieResolutionGranularityNeeded) -> Option<DecisionMadeByEC> {
        let resolved = match self {
            MethodOfTieResolution::None => false,
            MethodOfTieResolution::RequireHistoricalCountsToBeAllDifferent => resolve_ties_require_all_different(tied_candidates,transcript,false),
            MethodOfTieResolution::AnyDifferenceIsADiscriminator => resolve_ties_any_different(tied_candidates,transcript,granularity,false),
            MethodOfTieResolution::RequireHistoricalCountsToBeAllDifferentOnlyConsideringCountsWhereAnActionIsFinished => resolve_ties_require_all_different(tied_candidates,transcript,true),
            MethodOfTieResolution::AnyDifferenceIsADiscriminatorOnlyConsideringCountsWhereAnActionIsFinished => resolve_ties_any_different(tied_candidates,transcript,granularity,true),
        };
        if resolved { None } else { Some(DecisionMadeByEC{ affected: tied_candidates.to_vec() }) }
    }
/// sort tied_candidates low to high based upon the given method of tie resolution.
/// If the method does not resolve it, return a DecisionMadeByEC object.
sort tied_candidates low to high based upon the given method of tie resolution.
If the method does not resolve it, return a DecisionMadeByEC object.
sort tied_candidates low to high based upon the given method of tie resolution . If the method does not resolve it return a DecisionMadeByEC object .
pub fn resolve<Tally:Clone+Hash+Ord+Display+FromStr>(self,tied_candidates: &mut [CandidateIndex],transcript:  &Transcript<Tally>,granularity:TieResolutionGranularityNeeded) -> Option<DecisionMadeByEC> {
        let resolved = match self {
            MethodOfTieResolution::None => false,
            MethodOfTieResolution::RequireHistoricalCountsToBeAllDifferent => resolve_ties_require_all_different(tied_candidates,transcript,false),
            MethodOfTieResolution::AnyDifferenceIsADiscriminator => resolve_ties_any_different(tied_candidates,transcript,granularity,false),
            MethodOfTieResolution::RequireHistoricalCountsToBeAllDifferentOnlyConsideringCountsWhereAnActionIsFinished => resolve_ties_require_all_different(tied_candidates,transcript,true),
            MethodOfTieResolution::AnyDifferenceIsADiscriminatorOnlyConsideringCountsWhereAnActionIsFinished => resolve_ties_any_different(tied_candidates,transcript,granularity,true),
        };
        if resolved { None } else { Some(DecisionMadeByEC{ affected: tied_candidates.to_vec() }) }
    }
pub fn resolve < Tally : Clone + Hash + Ord + Display + FromStr > ( self , tied_candidates : & mut [ CandidateIndex ] , transcript : & Transcript < Tally > , granularity : TieResolutionGranularityNeeded ) -> Option < DecisionMadeByEC > { let resolved = match self { MethodOfTieResolution :: None => false , MethodOfTieResolution :: RequireHistoricalCountsToBeAllDifferent => resolve_ties_require_all_different ( tied_candidates , transcript , false ) , MethodOfTieResolution :: AnyDifferenceIsADiscriminator => resolve_ties_any_different ( tied_candidates , transcript , granularity , false ) , MethodOfTieResolution :: RequireHistoricalCountsToBeAllDifferentOnlyConsideringCountsWhereAnActionIsFinished => resolve_ties_require_all_different ( tied_candidates , transcript , true ) , MethodOfTieResolution :: AnyDifferenceIsADiscriminatorOnlyConsideringCountsWhereAnActionIsFinished => resolve_ties_any_different ( tied_candidates , transcript , granularity , true ) , } ; if resolved { None } else { Some ( DecisionMadeByEC { affected : tied_candidates . to_vec ( ) } ) } }
sort tied_candidates low to high based upon the given method of tie resolution.
sort tied_candidates low to high based upon the given method of tie resolution .
self
tied_candidates
&mut [CandidateIndex]
transcript
&Transcript<Tally>
granularity
TieResolutionGranularityNeeded
self
tied_candidates
&mut [CandidateIndex]
transcript
&Transcript<Tally>
granularity
TieResolutionGranularityNeeded