별의 공부 블로그 🧑🏻‍💻
728x90
728x170

*[header][other] random (C++11)


<random>

Random
This header introduces random number generation facilities.

This library allows to produce random numbers using combinations of generators and distributions:
  • Generators: Objects that generate uniformly distributed numbers.
  • Distributions: Objects that transform sequences of numbers generated by a generator into sequences of numbers that follow a specific random variable distribution, such as uniformNormal or Binomial.

Distribution objects generate random numbers by means of their operator() member, which takes a generator object as argument:
1
2
3
std::default_random_engine generator;
std::uniform_int_distribution<int> distribution(1,6);
int dice_roll = distribution(generator);  // generates number in the range 1..6 


For repeated uses, both can be bound together:
1
2
auto dice = std::bind ( distribution, generator );
int wisdom = dice()+dice()+dice();


Except for random_device, all standard generators defined in the library are random number engines, which are a kind of generators that use a particular algorithm to generate series of pseudo-random numbers. These algorithms need a seed as a source of randomness, and this seed can either be a single value or an object with a very specific generate()member function (see seed_seq for more info). A typical source of randomness for trivial tasks is time, such as the information provided by time or system_clock::now (for a typical example, see uniform_int_distribution::operator()).

As an alternative, trivial random numbers can also be generated using cstdlib's functions rand and srand.


Generators

Pseudo-random number engines (templates)

Generators that use an algorithm to generate pseudo-random numbers based on an initial seed:

Engine adaptors

They adapt an engine, modifying the way numbers are generated with it:

Pseudo-random number engines (instantiations)

Particular instantiations of generator engines and adaptors:

Random number generators

Non-deterministic random number generator:

Distributions

Uniform:


Related to Bernoulli (yes/no) trials:


Rate-based distributions:


Related to Normal distribution:


Piecewise distributions:


Other



내용 출처 : http://www.cplusplus.com/reference/random/

728x90
그리드형(광고전용)

'Programming > C++' 카테고리의 다른 글

[header][other] string  (0) 2017.11.08
[header][other] stdexcept  (0) 2017.11.08
[header][other] regex (C++11)  (0) 2017.11.08
[header][other] ratio (C++11)  (0) 2017.11.08
[header][other] numeric  (0) 2017.11.08
[header][other] new  (0) 2017.11.08
[header][other] memory  (0) 2017.11.08
[header][other] locale  (0) 2017.11.08
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖