natix.SimilaritySearch.DynamicSequential.AppendKExtremes C# (CSharp) Method

AppendKExtremes() public method

public AppendKExtremes ( IResult near, IResult far, List items ) : void
near IResult
far IResult
items List
return void
        public void AppendKExtremes(IResult near, IResult far, List<ItemPair> items)
        {
            var _far = new Result (far.K);
            foreach (var item in items) {
                if (!near.Push (item.ObjID, item.Dist)) {
                    _far.Push (item.ObjID, -item.Dist);
                }
            }
            foreach (var p in _far) {
                far.Push (p.ObjID, -p.Dist);
            }
        }

Usage Example

コード例 #1
0
 protected override void SearchExtremes(DynamicSequential idx, List<ItemPair> items, object piv, double quantile, int min_bs, out IResult near, out IResult far, out DynamicSequential.Stats stats)
 {
     items.Clear();
     idx.ComputeDistances (piv, items, out stats);
     DynamicSequential.SortByDistance(items);
     var n = idx.Count;
     min_bs = Math.Max ((int)(quantile * n), min_bs);
     near = new Result (min_bs);
     far = new Result (min_bs);
     idx.AppendKExtremes(near, far, items);
 }
All Usage Examples Of natix.SimilaritySearch.DynamicSequential::AppendKExtremes