Merge pull request #688 from jharwell/rng-distribution-fix

Fix {normal, extreme_value} distributions to work with quantities
This commit is contained in:
Mateusz Pusz
2025-03-11 18:15:50 +01:00
committed by GitHub

View File

@@ -289,7 +289,7 @@ struct extreme_value_distribution : public std::extreme_value_distribution<typen
template<typename Generator> template<typename Generator>
Q operator()(Generator& g) Q operator()(Generator& g)
{ {
return Q(base::operator()(g)); return base::operator()(g) * Q::reference;
} }
[[nodiscard]] Q a() const { return base::a() * Q::reference; } [[nodiscard]] Q a() const { return base::a() * Q::reference; }
@@ -313,7 +313,7 @@ struct normal_distribution : public std::normal_distribution<typename Q::rep> {
template<typename Generator> template<typename Generator>
Q operator()(Generator& g) Q operator()(Generator& g)
{ {
return Q(base::operator()(g)); return base::operator()(g) * Q::reference;
} }
[[nodiscard]] Q mean() const { return base::mean() * Q::reference; } [[nodiscard]] Q mean() const { return base::mean() * Q::reference; }