MobileRT  1.0
A multi platform C++ CPU progressive Ray Tracer.
MersenneTwister.hpp
Go to the documentation of this file.
1 #ifndef COMPONENTS_SAMPLERS_MERSENNETWISTER_HPP
2 #define COMPONENTS_SAMPLERS_MERSENNETWISTER_HPP
3 
4 #include "MobileRT/Sampler.hpp"
5 #include <random>
6 
7 namespace Components {
8 
12  class MersenneTwister final : public ::MobileRT::Sampler {
13  public:
14  explicit MersenneTwister() = default;
15 
16  MersenneTwister(const MersenneTwister &random) = delete;
17 
18  MersenneTwister(MersenneTwister &&random) noexcept = delete;
19 
20  ~MersenneTwister() final = default;
21 
22  MersenneTwister &operator=(const MersenneTwister &random) = delete;
23 
24  MersenneTwister &operator=(MersenneTwister &&random) noexcept = delete;
25 
26  float getSample(::std::uint32_t sample) final;
27  };
28 }//namespace Components
29 
30 #endif //COMPONENTS_SAMPLERS_MERSENNETWISTER_HPP
Definition: Orthographic.hpp:6
~MersenneTwister() final=default
Definition: Sampler.hpp:13
float getSample()
Definition: Sampler.cpp:44
MersenneTwister & operator=(const MersenneTwister &random)=delete
Definition: MersenneTwister.hpp:12