Ocular Engine
MersenneTwister19937.hpp
1 
17 #pragma once
18 #ifndef __H__OCULAR_MATH_RANDOM_MERSENNE_TWISTER__H__
19 #define __H__OCULAR_MATH_RANDOM_MERSENNE_TWISTER__H__
20 
21 #include "ARandom.hpp"
22 #include <array>
23 
24 //------------------------------------------------------------------------------------------
25 
30 namespace Ocular
31 {
36  namespace Math
37  {
42  namespace Random
43  {
53  {
54  public:
55 
58 
59  virtual void seed(int64_t seed);
60  virtual uint32_t next();
61 
62  protected:
63 
64  std::array<uint32_t, 624> m_State;
65  uint32_t m_I;
66 
67  private:
68  };
69  }
73  }
77 }
82 //------------------------------------------------------------------------------------------
83 
84 #endif
Note: Once this library is made dynamic, this will no longer be needed.
Definition: Common.hpp:70
virtual uint32_t next()
Definition: MersenneTwister19937.cpp:70
Definition: MersenneTwister19937.hpp:52
void seed()
Definition: ARandom.cpp:52
Definition: ARandom.hpp:67