23 lines
707 B
TypeScript
23 lines
707 B
TypeScript
export const SIZES = [100, 10_000] as const;
|
|
|
|
export function generateNumbers(size: number): number[] {
|
|
return Array.from({ length: size }, (_, i) => i);
|
|
}
|
|
|
|
export function generateStrings(size: number): string[] {
|
|
return Array.from({ length: size }, (_, i) => `item-${i}`);
|
|
}
|
|
|
|
/**
|
|
* Generates indices that should be "error" slots, deterministically distributed.
|
|
* With errRatio=0.2 and size=10, returns indices [4, 9] (every 5th element).
|
|
*/
|
|
export function errorIndices(size: number, errRatio = 0.2): Set<number> {
|
|
const step = Math.max(1, Math.floor(1 / errRatio));
|
|
const indices = new Set<number>();
|
|
for (let i = step - 1; i < size; i += step) {
|
|
indices.add(i);
|
|
}
|
|
return indices;
|
|
}
|