Skip to content

Commit d47dab1

Browse files
committed
uniform_real_distribution : generate_canonicalベースの実装例を記載 #1239
1 parent f1b341a commit d47dab1

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

reference/random/uniform_real_distribution.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ namespace std {
2222
2323
## 備考
2424
- `uniform_real_distribution`の実装は、内部的に[`std::generate_canonical()`](generate_canonical.md)を使用している環境がある
25+
- `std::generate_canonical<std::numeric_limits<RealType>::digits>(rng) * (b - a) + a`のようにして、指定された範囲`[a, b)`の値を生成する
2526
- C++23まではその`std::generate_canonical()`の仕様上、浮動小数点数の丸めにより指定範囲外の値(上限値`b`)が生成されることがあった
2627
- C++26では`std::generate_canonical()`に棄却法が導入されたことで、この問題は解消された
2728
- [P0952R2 A New Specification for `generate_canonical`](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p0952r2.html)

0 commit comments

Comments
 (0)