Newer
Older
// 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
};
}