Ocular Engine
Random.hpp
1 
17 #pragma once
18 #ifndef __H__OCULAR_MATH_RANDOM__H__
19 #define __H__OCULAR_MATH_RANDOM__H__
20 
21 #include "ARandom.hpp"
22 #include <memory>
23 
24 //------------------------------------------------------------------------------------------
25 
30 namespace Ocular
31 {
36  namespace Math
37  {
42  namespace Random
43  {
44  enum PRNG
45  {
46  MersenneTwister = 0,
48  CMWC,
49  WELL,
50  XorShift
51  };
52 
59  std::shared_ptr<ARandom> CreatePRNG(PRNG prng);
60 
67  std::shared_ptr<ARandom> CreatePRNG(PRNG prng, int64_t seed);
68  }
72  }
76 }
81 //------------------------------------------------------------------------------------------
82 
83 #endif
Note: Once this library is made dynamic, this will no longer be needed.
Definition: Common.hpp:70