Random\Engine\Mt19937::__construct

Constructs a new Mt19937 engine

&reftitle.description; public `Random\Engine\Mt19937::__construct` ``int``null```seed`&null; `int` `mode` `MT_RAND_MT19937`

&caution.mt19937-tiny-seed; &warn.undocumented.func;
&reftitle.parameters;

`seed`

- Fills the state with values generated with a linear congruential generator that was seeded with `seed` interpreted as an unsigned 32 bit integer.

  If `seed` is omitted or &null;, a random unsigned 32 bit integer will be used.

`mode`

- Use one of the following constants to specify the implementation of the algorithm to use.

  - `MT_RAND_MT19937`: The correct Mt19937 implementation.
  - `MT_RAND_PHP`: An incorrect implementation for backwards compatibility with `mt_srand` prior to PHP 7.1.0.
  &warn.deprecated.feature-8-3-0;
&reftitle.examples;

### `Random\Engine\Mt19937::__construct` example

    <?php
    // Uses a random 32 Bit seed.
    $e = new \Random\Engine\Mt19937();

    $r = new \Random\Randomizer($e);
    ?>