TiagoMSSantos/MobileRT

View on GitHub
app/Components/Samplers/MersenneTwister.hpp

Summary

Maintainability
Test Coverage
#ifndef COMPONENTS_SAMPLERS_MERSENNETWISTER_HPP
#define COMPONENTS_SAMPLERS_MERSENNETWISTER_HPP

#include "MobileRT/Sampler.hpp"
#include <random>

namespace Components {

    /**
     * This sampler returns the Mersenne Twister.
     */
    class MersenneTwister final : public ::MobileRT::Sampler {
    public:
        explicit MersenneTwister() = default;

        MersenneTwister(const MersenneTwister &random) = delete;

        MersenneTwister(MersenneTwister &&random) noexcept = delete;

        ~MersenneTwister() final = default;

        MersenneTwister &operator=(const MersenneTwister &random) = delete;

        MersenneTwister &operator=(MersenneTwister &&random) noexcept = delete;

        float getSample(::std::uint32_t sample) final;
    };
}//namespace Components

#endif //COMPONENTS_SAMPLERS_MERSENNETWISTER_HPP