UFJF - Machine Learning Toolkit  0.51.8
Random.hpp
Go to the documentation of this file.
1 
6 //
7 // Created by mateus558 on 25/08/17.
8 //
9 #pragma once
10 
11 #include <random>
12 #include <functional>
13 
15 namespace mltk::random {
17  static unsigned int m_seed = 1;
18  extern unsigned int seed_param;
19  extern std::mt19937 m_generator;
20 
26  size_t init(unsigned int seed = 0);
27 
34  template<typename Integral = int, typename Integral1,
35  typename Distribution = std::uniform_int_distribution<Integral> >
36  inline Integral intInRange(Integral low, Integral1 high);
37 
44  template<typename Real = double,
45  typename Distribution = std::uniform_real_distribution<Real> >
46  inline Real floatInRange(Real low, Real high);
47 
52  size_t getSeed();
53  }
Namespace for random number generation (Mersenne Twister pseudorandom generator).
Definition: Random.hpp:15
Integral intInRange(Integral low, Integral1 high)
Returns a integer between low and high.
Definition: Random.cpp:27
Real floatInRange(Real low, Real high)
Returns a float between low and high.
Definition: Random.cpp:34
size_t getSeed()
Get the seed used in the mersenne twister.
Definition: Random.cpp:22
size_t init(unsigned int seed=0)
Initialize the mersenne twister pseudorandom number generator.
Definition: Random.cpp:12