public function doTestInt($min, $max, $times)
 {
     $rand = new Random();
     $values = array();
     for ($i = 0; $i < $times; $i++) {
         // convert to (float) here otherwise array_sum will cause a int overflow for the PHP_MAX_INT test (on HHVM)
         $values[] = (double) $rand->int($min, $max);
     }
     $avg = array_sum($values) / count($values);
     $expectedAvg = ($min + $max) / 2;
     $diff = max($avg, $expectedAvg) - min($avg, $expectedAvg);
     // Ensure that the deviation is less than 1 standard deviation
     return ($max - $min) / sqrt(12) > $diff;
 }
Example #2
0
<?php

require_once __DIR__ . '/vendor/autoload.php';
use BlockTrail\SimplyRandom\Random;
$random = new Random();
echo "Generating 8 random bytes:\n\n";
var_dump(bin2hex($random->bytes(8)));
echo "\nGenerating a random int between 0 and 128\n\n";
var_dump($random->int(0, 128));
echo "\nGenerating a random float\n\n";
var_dump($random->float());
echo "\nChoosing a random string element\n\n";
var_dump($random->choose("abcdefghijklmnopqrstuvwxyz"));
echo "\nChoosing a random array element\n\n";
var_dump($random->choose(array(1, 2, 3, 4, 5, 6, 7, 8, 9)));
echo "\nShuffling a string\n\n";
var_dump($random->shuffle("abcdefghijklmnopqrstuvwxyz"));
echo "\nShuffling an array\n\n";
var_dump($random->shuffle(array(1, 2, 3, 4, 5, 6, 7, 8, 9)));
echo "\nGenerating a token\n\n";
var_dump($random->token(32));
echo "\nGenerating a token (a,b,c,d)\n\n";
var_dump($random->token(8, array('a', 'b', 'c', 'd')));