/// <summary> /// Creates an ordered array of subsetCount int indices that /// constitute a subset of all ints in the range [0, count-1]. /// O(subsetCount * log(subsetCount)) for subsetCount << count. /// NOTE: It is assumed that subsetCount is significantly smaller /// than count. If this is not the case, use /// CreateRandomSubsetOfSize instead. /// WARNING: As subsetCount approaches count execution time /// increases significantly. /// </summary> public static int[] CreateSmallRandomOrderedSubsetIndexArray( this IRandomUniform rnd, int subsetCount, int count) { var subsetIndexArray = rnd.CreateSmallRandomSubsetIndexArray(subsetCount, count); subsetIndexArray.QuickSortAscending(); return(subsetIndexArray); }