Example #1
0
        public RowBranch CreateRowBranch(int length)
        {
            int noOfBuckets = mRuler.GetNoOfBuckets(length);

            int dstArraySize = noOfBuckets * mRuler.BucketSize;
            var result       = new RowBranch
            {
                NoOfBuckets = noOfBuckets,
                Keys        = new ushort[dstArraySize],
            };

            // CopyBranchNodes(values, offset, length, dstArraySize, result);

            return(result);
        }
Example #2
0
        public static void CopyBranchNodes(ushort[] src, int offset, int srcLength, int dstLength, RowBranch result)
        {
            // TODO: if majority exists, insert as index 0
            for (var i = offset; i < srcLength; i += 1)
            {
                result.Keys[i] = src[i];
            }

            for (var i = srcLength; i < dstLength; i += 1)
            {
                result.Keys[i] = ushort.MaxValue;
            }
        }