tmp/tmpwptqjai2/{from.md → to.md}
RENAMED
|
@@ -1,29 +1,29 @@
|
|
| 1 |
#### Random number engine requirements <a id="rand.req.eng">[[rand.req.eng]]</a>
|
| 2 |
|
| 3 |
A *random number engine* (commonly shortened to *engine*) `e` of type
|
| 4 |
-
`E` is a uniform random
|
| 5 |
-
requirements (
|
| 6 |
-
|
| 7 |
|
| 8 |
At any given time, `e` has a state eᵢ for some integer i ≥ 0. Upon
|
| 9 |
construction, `e` has an initial state e₀. An engine’s state may be
|
| 10 |
established via a constructor, a `seed` function, assignment, or a
|
| 11 |
suitable `operator>>`.
|
| 12 |
|
| 13 |
`E`’s specification shall define:
|
| 14 |
|
| 15 |
-
A class `E` that satisfies the requirements of a uniform random
|
| 16 |
generator ([[rand.req.urng]]) also satisfies the requirements of a
|
| 17 |
*random number engine* if the expressions shown in Table
|
| 18 |
[[tab:RandomEngine]] are valid and have the indicated semantics, and if
|
| 19 |
`E` also satisfies all other requirements of this section
|
| 20 |
[[rand.req.eng]]. In that Table and throughout this section:
|
| 21 |
|
| 22 |
where `charT` and `traits` are constrained according to Clause
|
| 23 |
[[strings]] and Clause [[input.output]].
|
| 24 |
|
| 25 |
`E` shall meet the requirements of `CopyConstructible` (Table
|
| 26 |
-
[[copyconstructible]]) and `CopyAssignable` (Table
|
| 27 |
-
types. These operations shall each be of
|
| 28 |
-
𝑂(\mbox{size of state}).
|
| 29 |
|
|
|
|
| 1 |
#### Random number engine requirements <a id="rand.req.eng">[[rand.req.eng]]</a>
|
| 2 |
|
| 3 |
A *random number engine* (commonly shortened to *engine*) `e` of type
|
| 4 |
+
`E` is a uniform random bit generator that additionally meets the
|
| 5 |
+
requirements (e.g., for seeding and for input/output) specified in this
|
| 6 |
+
section.
|
| 7 |
|
| 8 |
At any given time, `e` has a state eᵢ for some integer i ≥ 0. Upon
|
| 9 |
construction, `e` has an initial state e₀. An engine’s state may be
|
| 10 |
established via a constructor, a `seed` function, assignment, or a
|
| 11 |
suitable `operator>>`.
|
| 12 |
|
| 13 |
`E`’s specification shall define:
|
| 14 |
|
| 15 |
+
A class `E` that satisfies the requirements of a uniform random bit
|
| 16 |
generator ([[rand.req.urng]]) also satisfies the requirements of a
|
| 17 |
*random number engine* if the expressions shown in Table
|
| 18 |
[[tab:RandomEngine]] are valid and have the indicated semantics, and if
|
| 19 |
`E` also satisfies all other requirements of this section
|
| 20 |
[[rand.req.eng]]. In that Table and throughout this section:
|
| 21 |
|
| 22 |
where `charT` and `traits` are constrained according to Clause
|
| 23 |
[[strings]] and Clause [[input.output]].
|
| 24 |
|
| 25 |
`E` shall meet the requirements of `CopyConstructible` (Table
|
| 26 |
+
[[tab:copyconstructible]]) and `CopyAssignable` (Table
|
| 27 |
+
[[tab:copyassignable]]) types. These operations shall each be of
|
| 28 |
+
complexity no worse than 𝑂(\mbox{size of state}).
|
| 29 |
|