cpp/src/times/lognormal.h
2024-12-01 19:23:58 +01:00

26 lines
665 B
C++

#ifndef LOGNORMAL_H
#define LOGNORMAL_H
#include "base.h"
#include <random>
class LogNormalDistribution final : public Distribution {
public:
LogNormalDistribution(double, double, std::mt19937_64&);
explicit LogNormalDistribution(std::mt19937_64 &rng);
void setParameters(const std::unordered_map<std::string, double> &) override;
[[nodiscard]] std::unordered_map<std::string, double> getParameters() const override;
[[nodiscard]] std::string toString() const override;
void initialize() override;
void draw_tau() override;
private:
double m_sigma{1};
std::lognormal_distribution<> m_distribution;
};
#endif //LOGNORMAL_H