This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++11 status.

### 1437. Mersenne twister meaningless for word sizes less than two

Section: 28.5.4.3 [rand.eng.mers] Status: C++11 Submitter: INCITS Opened: 2010-08-25 Last modified: 2016-01-28

Priority: Not Prioritized

View all other issues in [rand.eng.mers].

View all issues with C++11 status.

Discussion:

Addresses US-124

The Mersenne twister algorithm is meaningless for word sizes less than two, as there are then insufficient bits available to be “twisted”.

[ Resolution proposed by ballot comment: ]

> Insert the following among the relations that are required to hold: `2u < w`.

[ 2010 Batavia: The working group concurred with the issue's Proposed Resolution ]

[ Adopted at 2010-11 Batavia ]

Proposed resolution:

Change 28.5.4.3 [rand.eng.mers] p. 4 as indicated:

> 4 The following relations shall hold: `0 < m`, `m <= n`, `2u < w`, `r <= w`, `u <= w`, `s <= w`, `t <= w`, `l <= w`, `w <= numeric_limits<UIntType>::digits`, `a <= (1u<<w) - 1u`, `b <= (1u<<w) - 1u`, `c <= (1u<<w) - 1u`, `d <= (1u<<w) - 1u`, and `f <= (1u<<w) - 1u`.