double precision function ran_number(x1,x2) C Calculate a random real number from the range (x1,x2). implicit none integer ix double precision x1,x2,fctor data fctor /2147483647.0D0/ call vrnd(ix,1) ran_number=x1+(x2-x1)*ix/fctor return end integer function iran_num(n1,n2) C Calculate a random integer number from the range (n1,n2). implicit none integer n1,n2,ix real fctor /2147483647.0/ call vrnd(ix,1) ix=n1+(n2-n1+1)*(ix/fctor) if (ix.gt.n2) ix=n2 iran_num=ix return end