#if defined(AIX) || defined(AMD64)
- real*8 function prng_next(me)
+ real*8 function prng_next(mel)
implicit none
- integer me
+ integer me,mel
c
c Calling sequence:
c <new random number> = prng_next ( <ordinal of generator desired> )
crc g77 doesn't support integer*8 constants
m = dint(34522712143931.0d0)
ishift = dint(9007199254740991.0d0)
- if(me.gt.nmax) me=mod(me,nmax)
-
+ if(mel.gt.nmax) then
+ me=mod(mel,nmax)
+ else
+ me=mel
+ endif
c RS6K porting note: ishift now takes 64-bit integers , with a warning
if ( 0.le.me .and. me.le.nmax ) then
next = iparam(1,me)*m + iparam(2,me)
c me is the particular generator being restarted
c iseed is a 8-byte integer containing the "l"-values
c
- logical function prng_restart (me, iseed)
+ logical function prng_restart (mel, iseed)
implicit none
- integer me
+ integer me,mel
integer*8 iseed
integer nmax
parameter(nmax=1021)
common/ksrprng/iparam(2,0:nmax)
- if(me.gt.nmax) me=mod(me,nmax)
+ if(mel.gt.nmax) then
+ me=mod(mel,nmax)
+ else
+ me=mel
+ endif
if (me .lt. 0 .or. me .gt. nmax) then
prng_restart=.false.
return