protected override void SearchExtremes(DynamicSequential idx, List<ItemPair> items, object piv, double alpha_stddev, int min_bs, out IResult near, out IResult far, out DynamicSequential.Stats stats)
{
items.Clear();
idx.ComputeDistances (piv, items, out stats);
var radius = stats.stddev * alpha_stddev;
near = new Result(idx.Count);
far = new Result(idx.Count);
idx.DropCloseToMean(stats.min + radius, stats.max - radius, near, far, items);
if (near.Count == 0 && far.Count == 0 & min_bs > 0) {
near = new Result (min_bs);
far = new Result (min_bs);
idx.AppendKExtremes(near, far, items);
}
}