jubilant-funicular
Random.cpp
1 #include <ctime>
2 #include <cstdlib>
3 
4 #include "nta/Random.h"
5 
6 namespace nta {
7  std::default_random_engine Random::m_generator;
8  void Random::init() {
9  std::srand(std::time(nullptr));
10  m_generator = std::default_random_engine(std::time(nullptr));
11  }
12  long Random::randInt(long min, long max) {
13  //+1 to prevent the case of rand() == RAND_MAX
14  return rand()*double(max-min)/((double)RAND_MAX+1) + min;
15  }
16  float Random::randFloat(float min, float max) {
17  return rand()*(max-min)/RAND_MAX + min;
18  }
19  float Random::randGaussian(float mean, float sd) {
20  std::normal_distribution<float> distribution(mean,sd);
21  return distribution(m_generator);
22  }
23 }
nta::Random::init
static void init()
initializes random number generation
Definition: Random.cpp:8
nta::Random::randGaussian
static float randGaussian(float mean, float sd)
returns a random float using the specified distribution
Definition: Random.cpp:19
nta
Definition: Animation2D.h:6