tmp/tmpdzp_kh98/{from.md → to.md}
RENAMED
|
@@ -14,15 +14,14 @@ transition is performed as follows:
|
|
| 14 |
The generation algorithm yields the last value of `Y` produced while
|
| 15 |
advancing `e`’s state as described above.
|
| 16 |
|
| 17 |
``` cpp
|
| 18 |
template<class Engine, size_t k>
|
| 19 |
-
|
| 20 |
-
{
|
| 21 |
public:
|
| 22 |
// types
|
| 23 |
-
|
| 24 |
|
| 25 |
// engine characteristics
|
| 26 |
static constexpr size_t table_size = k;
|
| 27 |
static constexpr result_type min() { return Engine::min(); }
|
| 28 |
static constexpr result_type max() { return Engine::max(); }
|
|
@@ -44,12 +43,12 @@ public:
|
|
| 44 |
// property functions
|
| 45 |
const Engine& base() const noexcept { return e; };
|
| 46 |
|
| 47 |
private:
|
| 48 |
Engine e; // exposition only
|
| 49 |
-
result_type Y; // exposition only
|
| 50 |
result_type V[k]; // exposition only
|
|
|
|
| 51 |
};
|
| 52 |
```
|
| 53 |
|
| 54 |
The following relation shall hold: `0 < k`.
|
| 55 |
|
|
|
|
| 14 |
The generation algorithm yields the last value of `Y` produced while
|
| 15 |
advancing `e`’s state as described above.
|
| 16 |
|
| 17 |
``` cpp
|
| 18 |
template<class Engine, size_t k>
|
| 19 |
+
class shuffle_order_engine {
|
|
|
|
| 20 |
public:
|
| 21 |
// types
|
| 22 |
+
using result_type = typename Engine::result_type;
|
| 23 |
|
| 24 |
// engine characteristics
|
| 25 |
static constexpr size_t table_size = k;
|
| 26 |
static constexpr result_type min() { return Engine::min(); }
|
| 27 |
static constexpr result_type max() { return Engine::max(); }
|
|
|
|
| 43 |
// property functions
|
| 44 |
const Engine& base() const noexcept { return e; };
|
| 45 |
|
| 46 |
private:
|
| 47 |
Engine e; // exposition only
|
|
|
|
| 48 |
result_type V[k]; // exposition only
|
| 49 |
+
result_type Y; // exposition only
|
| 50 |
};
|
| 51 |
```
|
| 52 |
|
| 53 |
The following relation shall hold: `0 < k`.
|
| 54 |
|