| 122 | * @returns @zh 随机整数数组 @en Array of random integers |
| 123 | */ |
| 124 | export function randomIntegers( |
| 125 | min: number, |
| 126 | max: number, |
| 127 | count: number, |
| 128 | rng: SeededRandom | { next(): number } |
| 129 | ): number[] { |
| 130 | const range = max - min + 1; |
| 131 | if (count > range) { |
| 132 | throw new Error('Count exceeds range'); |
| 133 | } |
| 134 | |
| 135 | // Generate all numbers and sample |
| 136 | const numbers: number[] = []; |
| 137 | for (let i = min; i <= max; i++) { |
| 138 | numbers.push(i); |
| 139 | } |
| 140 | |
| 141 | return sample(numbers, count, rng); |
| 142 | } |
| 143 | |
| 144 | /** |
| 145 | * @zh 按权重从数组中采样(不重复) |