逐次に引く PCG64 の乱数列(Fortran 組み込み random_number の置き換え)。
seed_random_stream で seed を決めると、各 OpenMP thread は (seed, thread 番号) から作った自分の PCG64 stream を
初回の draw で開く。同じ seed・同じ thread で引けば同じ列になる。バッチ粒子の生成と粒子追跡は
bem_counter_rng の counter-based 乱数を使い、この列は単体の sampling API と test だけが使う。
[0, 1) の一様乱数を 1 つ引く。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(out) | :: | x |
配列を要素順に [0, 1) の一様乱数で埋める。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(out) | :: | x(:) |
配列を列優先の要素順に [0, 1) の一様乱数で埋める。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(out) | :: | x(:,:) |
乱数列の seed を設定する。複数の値は順に混ぜて 1 つの seed にする。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=i32), | intent(in) | :: | seed_values(:) |