You are viewing documentation for an outdated version. It is no longer supported!

Math

Offers math related utility methods.

randomInt()

Deprecated

The randomInt() method has been deprecated. Please use randomizer() instead.

Generates a random number between given minimum and maximum values.

use Aedart\Utils\Math;

$value = Math::randomInt(1, 10);

randomizer()

The randomizer() method returns a NumericRandomizer component - an adapter for PHP Random\Randomizeropen in new window.

$randomizer = Math::randomizer();

You can optionally specify what Engineopen in new window you wish to use:

use Aedart\Utils\Math;
use Random\Engine\Mt19937;

$randomizer = Math::randomizer(new Mt19937());

int()

The ìnt() method returns a random number between provided $min and $max:

echo Math::randomizer()->int(1, 10); // 7

See Random\Randomizer::getInt()open in new window for details.

nextInt()

Returns the next positive integer.

echo Math::randomizer()->nextInt(); // 4

See Random\Randomizer::nextInt()open in new window for details.

seed()

Generates a value that can be used for seeding the random number generator.

use Aedart\Utils\Math;

$seed = Math::seed();

mt_srand($seed);

applySeed()

A wrapper for PHP's mt_srand()open in new window method, which seeds the Mersenne Twister Random Number Generator.

use Aedart\Utils\Math;

$seed = 123456;
$list = ['a', 'b', 'c', 'd'];

Math::applySeed($seed);
$resultA = $list[ array_rand($list, 1) ];

Math::applySeed($seed);
$resultB = $list[ array_rand($list, 1) ];

echo $resultA; // b
echo $resultB; // b

Seed mode

Use the 3rd argument to specify the seeding algorithm mode:

use Aedart\Utils\Math;

$seed = 123456;
$list = ['a', 'b', 'c', 'd'];

Math::applySeed($seed, MT_RAND_PHP);
$resultA = $list[ array_rand($list, 1) ];

// ...etc