Files
pricing/src/RandomGenerator.hpp
David Doebel 08298439ea
Some checks failed
C++ CI / build (push) Has been cancelled
Create option pricing engine structure, test architecture.
2026-03-08 10:15:23 +01:00

28 lines
697 B
C++

//
// Created by David Doebel on 06.03.2026.
//
#ifndef QUANTENGINE_RANDOMGENERATOR_HPP
#define QUANTENGINE_RANDOMGENERATOR_HPP
#include <random>
class RandomGenerator {
public:
RandomGenerator() = default;
virtual ~RandomGenerator() = default;
virtual double nextGaussian() = 0;
virtual std::vector<double> nextGaussianVector(std::size_t n) = 0;
};
class MersenneTwister : public RandomGenerator {
public:
MersenneTwister() = default;
double nextGaussian() override;
std::vector<double> nextGaussianVector(std::size_t n) override;
private:
std::mt19937 generator_;
std::normal_distribution<> distr_ {0.0, 1.0};
};
#endif //QUANTENGINE_RANDOMGENERATOR_HPP