Difference between revisions of "cpp/numeric/random/independent bits engine"
From cppreference.com
m (→Template parameters: digits is a variable, not a function) |
m (→Template parameters: {{c/core}}.) |
||
(8 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{cpp/title|independent_bits_engine}} | {{cpp/title|independent_bits_engine}} | ||
{{cpp/numeric/random/independent_bits_engine/navbar}} | {{cpp/numeric/random/independent_bits_engine/navbar}} | ||
− | {{ | + | {{ddcl|header=random|since=c++11| |
− | + | ||
− | + | ||
template< | template< | ||
− | class Engine, | + | class Engine, |
− | std::size_t W, | + | std::size_t W, |
class UIntType | class UIntType | ||
> class independent_bits_engine; | > class independent_bits_engine; | ||
}} | }} | ||
− | |||
− | {{ | + | {{ttt|independent_bits_engine}} is a random number engine adaptor that produces random numbers with different number of bits than that of the wrapped engine. |
===Template parameters=== | ===Template parameters=== | ||
{{par begin}} | {{par begin}} | ||
− | {{par | Engine | the type of the wrapped engine }} | + | {{par|Engine|the type of the wrapped engine}} |
− | {{par | W | the number of bits the generated numbers should have }} | + | {{par|W|the number of bits the generated numbers should have}} |
− | {{par | UIntType | the type of the generated random numbers. The | + | {{par|UIntType|the type of the generated random numbers. The effect is undefined unless the parameter is cv-unqualified and is one of {{c/core|unsigned short}}, {{c/core|unsigned int}}, {{c/core|unsigned long}}, or {{c/core|unsigned long long}}.}} |
{{par hreq}} | {{par hreq}} | ||
− | {{par req | + | {{par req named|Engine|RandomNumberEngine}} |
− | {{par req | {{tt|W}} must be greater than zero, and no greater than {{c|std::numeric_limits<UIntType>::digits}}. }} | + | {{par req|{{tt|W}} must be greater than zero, and no greater than {{c|std::numeric_limits<UIntType>::digits}}.}} |
{{par end}} | {{par end}} | ||
===Member types=== | ===Member types=== | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc hitem | Member type | Definition}} | + | {{dsc hitem|Member type|Definition}} |
− | {{dsc | {{tt|result_type}} | + | {{dsc|{{tt|result_type}} {{mark c++11}}|{{tt|UIntType}}}} |
{{dsc end}} | {{dsc end}} | ||
===Member functions=== | ===Member functions=== | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc inc | cpp/numeric/random/adaptor/dsc constructor |independent_bits_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc constructor|independent_bits_engine}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc seed |independent_bits_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc seed|independent_bits_engine}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc base |independent_bits_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc base|independent_bits_engine}} |
− | {{dsc h2 | Generation}} | + | {{dsc h2|Generation}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc operator() |independent_bits_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc operator()|independent_bits_engine}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc discard |independent_bits_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc discard|independent_bits_engine}} |
− | {{dsc h2 | Characteristics}} | + | {{dsc h2|Characteristics}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc min |independent_bits_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc min|independent_bits_engine}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc max |independent_bits_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc max|independent_bits_engine}} |
{{dsc end}} | {{dsc end}} | ||
===Non-member functions=== | ===Non-member functions=== | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc inc | cpp/numeric/random/adaptor/dsc operator_cmp |independent_bits_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc operator_cmp|independent_bits_engine}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc operator_ltltgtgt |independent_bits_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc operator_ltltgtgt|independent_bits_engine}} |
{{dsc end}} | {{dsc end}} | ||
− | + | ===Example=== | |
− | + | {{example}} | |
− | + | ||
− | + | {{langlinks|de|es|fr|it|ja|pt|ru|zh}} | |
− | + | ||
− | + | ||
− | + | ||
− | + |
Latest revision as of 16:31, 19 March 2024
Defined in header <random>
|
||
template< class Engine, |
(since C++11) | |
independent_bits_engine
is a random number engine adaptor that produces random numbers with different number of bits than that of the wrapped engine.
Contents |
[edit] Template parameters
Engine | - | the type of the wrapped engine |
W | - | the number of bits the generated numbers should have |
UIntType | - | the type of the generated random numbers. The effect is undefined unless the parameter is cv-unqualified and is one of unsigned short, unsigned int, unsigned long, or unsigned long long. |
Type requirements | ||
-Engine must meet the requirements of RandomNumberEngine.
| ||
-W must be greater than zero, and no greater than std::numeric_limits<UIntType>::digits.
|
[edit] Member types
Member type | Definition |
result_type (C++11)
|
UIntType
|
[edit] Member functions
(C++11) |
constructs the engine adaptor (public member function) |
(C++11) |
sets the state of the underlying engine (public member function) |
(C++11) |
returns the underlying engine (public member function) |
Generation | |
(C++11) |
advances the state of the underlying engine and returns the generated value (public member function) |
(C++11) |
advances the adaptor's state by a specified amount (public member function) |
Characteristics | |
[static] (C++11) |
gets the smallest possible value in the output range (always zero). (public static member function) |
[static] (C++11) |
gets the largest possible value in the output range (always 2w - 1). (public static member function) |
[edit] Non-member functions
(C++11)(C++11)(removed in C++20) |
compares the internal states of the adaptors and underlying engines (function) |
(C++11) |
performs stream input and output on pseudo-random number engine adaptor (function) |
[edit] Example
This section is incomplete Reason: no example |