Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/numeric/random/independent bits engine"

From cppreference.com
< cpp‎ | numeric‎ | random
m (Template parameters: rm [rand.req.genl], otherwise this site would be speckled with such references (maybe).)
m (Template parameters: {{c/core}}.)
 
(2 intermediate revisions by one user 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}}
{{dcl begin}}
+
{{ddcl|header=random|since=c++11|
{{dcl header | random}}
+
{{dcl | 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;
 
}}
 
}}
{{dcl end}}
 
  
{{tt|independent_bits_engine}} is a random number engine adaptor that produces random numbers with different number of bits than that of the wrapped 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 effect is undefined unless the parameter is cv-unqualified and is one of {{c|unsigned short}}, {{c|unsigned int}}, {{c|unsigned long}}, or {{c|unsigned long long}}. }}
+
{{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 named | Engine | RandomNumberEngine}}
+
{{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}} | {{c|UIntType}} }}
+
{{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}}
 
{{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,
    std::size_t W,
    class UIntType

> class independent_bits_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

constructs the engine adaptor
(public member function) [edit]
(C++11)
sets the state of the underlying engine
(public member function) [edit]
(C++11)
returns the underlying engine
(public member function) [edit]
Generation
advances the state of the underlying engine and returns the generated value
(public member function) [edit]
(C++11)
advances the adaptor's state by a specified amount
(public member function) [edit]
Characteristics
[static] (C++11)
gets the smallest possible value in the output range (always zero).
(public static member function) [edit]
[static] (C++11)
gets the largest possible value in the output range (always 2w - 1).
(public static member function) [edit]

[edit] Non-member functions

(C++11)(C++11)(removed in C++20)
compares the internal states of the adaptors and underlying engines
(function) [edit]
performs stream input and output on pseudo-random number engine adaptor
(function) [edit]

[edit] Example