SDXFrameWork 0.09 SDXFrameWork

- Main Page
- Related Pages
- Classes

All Classes Namespaces Functions Variables Enumerations Enumerator Pages
Rand.h
1 #pragma once
2 #include <random>
3
4 namespace SDX
5 {
8 class Rand
9 {
10 private:
11 static std::mt19937 engine;
12 Rand();
13 ~Rand();
14 public:
16 static void Reset(int 初期化子)
17 {
18 engine.seed(初期化子);
19 }
20
22 static double Get(double 最大値)
23 {
24 std::uniform_real_distribution<double> range(0.0 , 最大値);
25 return range(engine);
26 }
27 static int Get(int 最大値)
28 {
29 std::uniform_int_distribution<int> range(0 , 最大値);
30 return range(engine);
31 }
32
34 static double Get( double 最小値 , double 最大値)
35 {
36 std::uniform_real_distribution<double> range( 最小値 , 最大値);
37 return range(engine);
38 }
39 static int Get( int 最小値 , int 最大値)
40 {
41 std::uniform_int_distribution<int> range( 最小値 , 最大値);
42 return range(engine);
43 }
44
46 static bool Coin(double trueになる確率)
47 {
48 if (trueになる確率 >= 1.0) return true;
49
50 std::bernoulli_distribution coin( std::min( trueになる確率 , 1.0) );
51
52 return coin(engine);
53 }
54 };
55 }
SDX::Rand::Reset
static void Reset(int 初期化子)
乱数を初期化する.
Definition: Rand.h:16
SDX::Rand::Coin
static bool Coin(double trueになる確率)
範囲を指定して乱数を取得.
Definition: Rand.h:46
SDX::Rand
乱数生成関数群.
Definition: Rand.h:8
SDX::Rand::Get
static double Get(double 最大値)
0～最大値の乱数を取得.
Definition: Rand.h:22
SDX::Rand::Get
static double Get(double 最小値, double 最大値)
範囲を指定して乱数を取得.
Definition: Rand.h:34