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); }
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; } }