Upon request from Dr. Maruyama (SLAC), trial version of randomset was made.
Subroutine randomset returns random number "rndum" whose value is between 0 and 1.
In detail, the value of rndum is as follows;
1) 1.0 - 2^(-24) * n, n=1,2,3,,,,
This can be verified by running ucrandom_set.f with original randomset.f
One will egs5job.out which will be the identical with org.out.
This can be also possible by carfully reading the list of randomset.f .
2) if(rndum.lt.2^(-12)) rndum=rndum+2^(-24) * seeds(j24)
This is written as comment in randomset.f . The process is called as "padding".
3) if(rndum.eq.0) rndum=2^(-48)
This is written as comment in randomset.f
Double presicion random number can be obtained by appllying the padding for
any value of rndum. randomset_6Aug2015.f is the special version of randomset.f
for this purpose.
By overwriting randomset.f with randomset_6Aug2015, one can get double precision
random number.
padded.out is an output from ucrandom_set.f when randomset_6Aug2015.f is used.
Y. Namito and H. Hirayama (KEK)
Related files.
- ucrandom_test.f
- ucrandom_test.inp
- randomset_6Aug2015.f
- org.out
- padded.out
Ver-2015-08-11