File tree 1 file changed +19
-9
lines changed
1 file changed +19
-9
lines changed Original file line number Diff line number Diff line change @@ -1365,28 +1365,38 @@ def sample(count=undefined, options=undefined)
1365
1365
else
1366
1366
if size / count > 3
1367
1367
abandon = false
1368
- spin = 0
1369
1368
1370
1369
result = Array . new count
1371
1370
i = 1
1372
1371
1373
1372
result [ 0 ] = rng . rand ( size )
1374
1373
while i < count
1375
1374
k = rng . rand ( size )
1376
- j = 0
1377
1375
1378
- while j < i
1379
- while k == result [ j ]
1380
- spin += 1
1381
- if spin > 100
1376
+ spin = false
1377
+ spin_count = 0
1378
+
1379
+ while true
1380
+ j = 0
1381
+ while j < i
1382
+ if k == result [ j ]
1383
+ spin = true
1384
+ break
1385
+ end
1386
+
1387
+ j += 1
1388
+ end
1389
+
1390
+ if spin
1391
+ if ( spin_count += 1 ) > 100
1382
1392
abandon = true
1383
1393
break
1384
1394
end
1395
+
1385
1396
k = rng . rand ( size )
1397
+ else
1398
+ break
1386
1399
end
1387
- break if abandon
1388
-
1389
- j += 1
1390
1400
end
1391
1401
1392
1402
break if abandon
You can’t perform that action at this time.
0 commit comments