pf_random_bits_at Interface

public interface pf_random_bits_at

64 raw bits: value draw (default 1) of stream i under seed, as integer(int64).

Reads the same two words as pf_random_at, so pf_random_at is exactly this pattern's top 53 bits scaled into [0, 1). i is integer(int32) or integer(int64); seed and draw are integer(int64). Every one of the 2**64 patterns is possible.


Module Procedures

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

pf_random_bits_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 integer(kind=int64)

64 raw bits

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

pf_random_bits_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 integer(kind=int64)

64 raw bits