[SSI32 RNG]
SSI32: Simplified Shift-Integer (32-bit) random number generator
Copyright_OML 2008 Hirotake Yaguchi
SSI32 generates 32-bit random numbers nonrecursively, that is,
generates the k-th random number directly, and is suitable for parallel
computations. On MPI we recommend mpisize>=4. The algorithm is based
on the mechanism of cancellation errors of numerical computations which
can be recognized as chaos mappings mathematically. Theoretical
background and results of statistical tests of randomness of SSI32 are
found in
H. Yaguchi and I. Kubo : A new nonrecursive pseudorandom number
generator based on chaos mappings. Monte Carlo Methods Appl.
Vol. 14 No. 1 (2008), pp. 87-102.
Note: SSI32 requires a C compiler which can treat 64-bit
long long int. (We tested SSI32 on bcc32(after 5.6), icl,
gcc, icc and cl.)
[Files]
1. SSI32rand.c: SSI32 random number generator
2. SSI32sampleMPI_1.c: sample code(1) of using SSI32 on MPI
(simply generate successive mpisize*10
random numbers)
3. SSI32sampleMPI_2.c: sample code(2) of using SSI32 on MPI
(count hexa-decimal characters appeared
in hexa-decimal representations of
successive 0x400000000 random numbers)