SDXFrameWork  0.07
SDXFrameWork
 全て クラス ネームスペース 関数 変数 列挙型 列挙型の値 ページ
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  std::bernoulli_distribution coin( std::min( trueになる確率 , 1.0) );
49 
50  return coin(engine);
51  }
52 };
53 }
static void Reset(int 初期化子)
乱数を初期化する.
Definition: Rand.h:16
static bool Coin(double trueになる確率)
範囲を指定して乱数を取得.
Definition: Rand.h:46
乱数生成関数群.
Definition: Rand.h:8
static double Get(double 最大値)
0~最大値の乱数を取得.
Definition: Rand.h:22
static double Get(double 最小値, double 最大値)
範囲を指定して乱数を取得.
Definition: Rand.h:34