Skip to content
Snippets Groups Projects
AbstractRandom.h 513 B
Newer Older
  • Learn to ignore specific revisions
  • Radim Vavřík's avatar
    Radim Vavřík committed
    // AbstractRandom.h
    #pragma once
    
    #include "UncertainityOptions.h"
    #include "MatData.h"
    #include <random>
    
    namespace math1d_cl {
    
    	class AbstractRandom 
    	{
    		public:
    			AbstractRandom(UncertainityOptions options); 
    			virtual double getRandDouble(double min, double max);
    			virtual void fillRandom(math1d_cl::precipitationsVector &prec, double deviation) = 0;
    			void seed();
    
    		protected:	
    			UncertainityOptions m_options; // Uncertainity options
    			std::mt19937_64 m_rand; // Mersenne Twister generator
    	};
    
    }