natix.SimilaritySearch.PivotGroupIndex.SearchKNN C# (CSharp) Method

SearchKNN() public method

public SearchKNN ( object q, int K, IResult res ) : IResult
q object
K int
res IResult
return IResult
        public override IResult SearchKNN(object q, int K, IResult res)
        {
            var l = this.GROUPS.Length;
            //var n = this.DB.Count;
            short[] A = new short[this.DB.Count];
            int num_groups = this.GROUPS.Length;
            for (short groupID = 0; groupID < l; ++groupID) {
                var group = this.GROUPS[groupID];
                this.internal_numdists += group.SearchKNN(this.DB, q, K, res, A, groupID);
            }
            for (int docID = 0; docID < A.Length; ++docID) {
                if (A[docID] == num_groups) {
                    res.Push(docID, this.DB.Dist(q, this.DB[docID]));
                }
            }
            return res;
        }