pf_random32_at Interface

public interface pf_random32_at

One uniform real32 in [0, 1): value draw (default 1) of stream i under seed.

This enumerates its OWN sequence, one word per value, and is deliberately not a narrowing of pf_random_at -- the two share a stream but not a value. i is integer(int32) or integer(int64); seed and draw are integer(int64).


Module Procedures

private pure elemental function pf_random32_at_i32(seed, i, draw) result(r)

pf_random32_at for an integer(int32) stream index.

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: seed

the stream family's seed

integer(kind=int32), intent(in) :: i

stream index; sign-extends, so any value is valid

integer(kind=int64), intent(in), optional :: draw

1-based value index; absent means 1

Return Value real(kind=real32)

a uniform draw in [0, 1)

private pure elemental function pf_random32_at_i64(seed, i, draw) result(r)

pf_random32_at for an integer(int64) stream index.

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: seed

the stream family's seed

integer(kind=int64), intent(in) :: i

stream index; every value is valid

integer(kind=int64), intent(in), optional :: draw

1-based value index; absent means 1

Return Value real(kind=real32)

a uniform draw in [0, 1)