MCPcopy Create free account
hub / github.com/esengine/esengine / randomIntegers

Function randomIntegers

packages/procgen/src/random/Shuffle.ts:124–142  ·  view source on GitHub ↗
(
    min: number,
    max: number,
    count: number,
    rng: SeededRandom | { next(): number }
)

Source from the content-addressed store, hash-verified

122 * @returns @zh 随机整数数组 @en Array of random integers
123 */
124export 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 按权重从数组中采样(不重复)

Callers

nothing calls this directly

Calls 2

sampleFunction · 0.85
pushMethod · 0.65

Tested by

no test coverage detected