From Jason Turner

[rand.predef]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp0bs9u2ax/{from.md → to.md} +28 -31
tmp/tmp0bs9u2ax/{from.md → to.md} RENAMED
@@ -1,89 +1,86 @@
1
  ### Engines and engine adaptors with predefined parameters <a id="rand.predef">[[rand.predef]]</a>
2
 
3
  ``` cpp
4
  using minstd_rand0 =
5
- linear_congruential_engine<uint_fast32_t, 16807, 0, 2147483647>;
6
  ```
7
 
8
- *Required behavior:* The $10000^{\,th}$ consecutive invocation of a
9
- default-constructed object of type `minstd_rand0` shall produce the
10
- value 1043618065.
11
 
12
  ``` cpp
13
  using minstd_rand =
14
- linear_congruential_engine<uint_fast32_t, 48271, 0, 2147483647>;
15
  ```
16
 
17
- *Required behavior:* The $10000^{\,th}$ consecutive invocation of a
18
- default-constructed object of type `minstd_rand` shall produce the value
19
  399268537.
20
 
21
  ``` cpp
22
  using mt19937 =
23
- mersenne_twister_engine<uint_fast32_t,
24
- 32,624,397,31,0x9908b0df,11,0xffffffff,7,0x9d2c5680,15,0xefc60000,18,1812433253>;
25
  ```
26
 
27
- *Required behavior:* The $10000^{\,th}$ consecutive invocation of a
28
- default-constructed object of type `mt19937` shall produce the value
29
  4123659995.
30
 
31
  ``` cpp
32
  using mt19937_64 =
33
- mersenne_twister_engine<uint_fast64_t,
34
- 64,312,156,31,0xb5026f5aa96619e9,29,
35
- 0x5555555555555555,17,
36
- 0x71d67fffeda60000,37,
37
- 0xfff7eee000000000,43,
38
- 6364136223846793005>;
39
  ```
40
 
41
- *Required behavior:* The $10000^{\,th}$ consecutive invocation of a
42
- default-constructed object of type `mt19937_64` shall produce the value
43
  9981545732273789042.
44
 
45
  ``` cpp
46
  using ranlux24_base =
47
  subtract_with_carry_engine<uint_fast32_t, 24, 10, 24>;
48
  ```
49
 
50
- *Required behavior:* The $10000^{\,th}$ consecutive invocation of a
51
- default-constructed object of type `ranlux24_base` shall produce the
52
- value 7937952.
53
 
54
  ``` cpp
55
  using ranlux48_base =
56
  subtract_with_carry_engine<uint_fast64_t, 48, 5, 12>;
57
  ```
58
 
59
- *Required behavior:* The $10000^{\,th}$ consecutive invocation of a
60
- default-constructed object of type `ranlux48_base` shall produce the
61
- value 61839128582725.
62
 
63
  ``` cpp
64
  using ranlux24 = discard_block_engine<ranlux24_base, 223, 23>;
65
  ```
66
 
67
- *Required behavior:* The $10000^{\,th}$ consecutive invocation of a
68
- default-constructed object of type `ranlux24` shall produce the value
69
  9901578.
70
 
71
  ``` cpp
72
  using ranlux48 = discard_block_engine<ranlux48_base, 389, 11>;
73
  ```
74
 
75
- *Required behavior:* The $10000^{\,th}$ consecutive invocation of a
76
- default-constructed object of type `ranlux48` shall produce the value
77
  249142670248501.
78
 
79
  ``` cpp
80
  using knuth_b = shuffle_order_engine<minstd_rand0,256>;
81
  ```
82
 
83
- *Required behavior:* The $10000^{\,th}$ consecutive invocation of a
84
- default-constructed object of type `knuth_b` shall produce the value
85
  1112339016.
86
 
87
  ``` cpp
88
  using default_random_engine = implementation-defined;
89
  ```
 
1
  ### Engines and engine adaptors with predefined parameters <a id="rand.predef">[[rand.predef]]</a>
2
 
3
  ``` cpp
4
  using minstd_rand0 =
5
+ linear_congruential_engine<uint_fast32_t, 16'807, 0, 2'147'483'647>;
6
  ```
7
 
8
+ *Required behavior:* The 10000ᵗʰ consecutive invocation of a
9
+ default-constructed object of type `minstd_rand0` produces the value
10
+ 1043618065.
11
 
12
  ``` cpp
13
  using minstd_rand =
14
+ linear_congruential_engine<uint_fast32_t, 48'271, 0, 2'147'483'647>;
15
  ```
16
 
17
+ *Required behavior:* The 10000ᵗʰ consecutive invocation of a
18
+ default-constructed object of type `minstd_rand` produces the value
19
  399268537.
20
 
21
  ``` cpp
22
  using mt19937 =
23
+ mersenne_twister_engine<uint_fast32_t, 32, 624, 397, 31,
24
+ 0x9908'b0df, 11, 0xffff'ffff, 7, 0x9d2c'5680, 15, 0xefc6'0000, 18, 1'812'433'253>;
25
  ```
26
 
27
+ *Required behavior:* The 10000ᵗʰ consecutive invocation of a
28
+ default-constructed object of type `mt19937` produces the value
29
  4123659995.
30
 
31
  ``` cpp
32
  using mt19937_64 =
33
+ mersenne_twister_engine<uint_fast64_t, 64, 312, 156, 31,
34
+ 0xb502'6f5a'a966'19e9, 29, 0x5555'5555'5555'5555, 17,
35
+ 0x71d6'7fff'eda6'0000, 37, 0xfff7'eee0'0000'0000, 43, 6'364'136'223'846'793'005>;
 
 
 
36
  ```
37
 
38
+ *Required behavior:* The 10000ᵗʰ consecutive invocation of a
39
+ default-constructed object of type `mt19937_64` produces the value
40
  9981545732273789042.
41
 
42
  ``` cpp
43
  using ranlux24_base =
44
  subtract_with_carry_engine<uint_fast32_t, 24, 10, 24>;
45
  ```
46
 
47
+ *Required behavior:* The 10000ᵗʰ consecutive invocation of a
48
+ default-constructed object of type `ranlux24_base` produces the value
49
+ 7937952.
50
 
51
  ``` cpp
52
  using ranlux48_base =
53
  subtract_with_carry_engine<uint_fast64_t, 48, 5, 12>;
54
  ```
55
 
56
+ *Required behavior:* The 10000ᵗʰ consecutive invocation of a
57
+ default-constructed object of type `ranlux48_base` produces the value
58
+ 61839128582725.
59
 
60
  ``` cpp
61
  using ranlux24 = discard_block_engine<ranlux24_base, 223, 23>;
62
  ```
63
 
64
+ *Required behavior:* The 10000ᵗʰ consecutive invocation of a
65
+ default-constructed object of type `ranlux24` produces the value
66
  9901578.
67
 
68
  ``` cpp
69
  using ranlux48 = discard_block_engine<ranlux48_base, 389, 11>;
70
  ```
71
 
72
+ *Required behavior:* The 10000ᵗʰ consecutive invocation of a
73
+ default-constructed object of type `ranlux48` produces the value
74
  249142670248501.
75
 
76
  ``` cpp
77
  using knuth_b = shuffle_order_engine<minstd_rand0,256>;
78
  ```
79
 
80
+ *Required behavior:* The 10000ᵗʰ consecutive invocation of a
81
+ default-constructed object of type `knuth_b` produces the value
82
  1112339016.
83
 
84
  ``` cpp
85
  using default_random_engine = implementation-defined;
86
  ```