Hello,
I am interested in a fortran program that does the following things:
1.- reads from a file of random bites, for example one of
Marsaglia random generated files
(http://www.csis.hku.hk/internet/randomCD.html)
2.- transforms this data into real*8 random numbers within
the
[0,1] interval.
Conceptually this does not seem hard and I am sure that somebody has
faced this problem before.
Using DVF6.1 I have written a simple program that reads one of
Marsaglia files. I am not sure that I have done this correctly because I
have never faced this problem before.
PROGRAM random
implicit none
real(8) :: rreal
integer :: n,ierror,ierror1
open(unit=1,file='c:\temp\bits.01',status='unknown',FORM='BINARY',action='read',iostat=ierror)
open(unit=2,file='c:\temp\out.dat',status='unknown',action='write',iostat=ierror1)
do n = 1,10
read(1)rreal
write(2,*)rreal
enddo
END PROGRAM
The result is
2.361349061791736E-199
8.425998214083004E+149
-1.301095633149849E+261
5.166552341828369E+202
-1.757866860529372E-276
7683276257476.26
6.581435966483412E-238
2.139230620717598E-264
2.629136211473332E+030
4.493242642612468E+071
When I consider the option
real(4) :: rreal
the result is
8.1462669E+36
2.8769560E-25
4.3009742E-22
1.0410461E+19
-556929.2
-8.3743773E+32
4.0191015E-16
4.0224823E+25
1.5110841E-21
-6.5888261E-35
Any suggestions on how to solve this problem would be appreciated.
Thanks in advance.
Jose.
-----------------------------------------------------
Department of Economics
University of Colorado at Boulder
Campus Box 256
Boulder, Colorado 80309-0256
Phone: 3034927869
Fax: 3034928960
E-mail: [log in to unmask]
web: http://stripe.Colorado.EDU/~canalsce/Home.html
-------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|