7 internal static HashSet<int>
Select(
8 IReadOnlyList<LsSeparatedCut> candidates,
9 IReadOnlyCollection<int> eligibleIndices,
12 ArgumentNullException.ThrowIfNull(candidates);
13 ArgumentNullException.ThrowIfNull(eligibleIndices);
14 ArgumentNullException.ThrowIfNull(options);
18 IEnumerable<int> eligible =
21 IEnumerable<int> selected =
22 options.SelectionPolicy
switch
31 candidates[index].Definition.L)
37 candidates[index].Violation)
40 candidates[index].Efficacy)
50 candidates[index].Violation)
53 candidates[index].Efficacy)
64 candidates[index].Efficacy)
67 candidates[index].Violation)
75 throw new NotSupportedException(
76 $
"Unsupported cut-selection policy " +
77 $
"'{options.SelectionPolicy}'.")
80 return selected.ToHashSet();