272
273
274
275
276
277
278
279 INTEGER IDUMM
280
281
282
283
284
285 DOUBLE PRECISION DIVFAC, POW16
286 parameter( divfac=2.147483648d+9, pow16=6.5536d+4 )
287
288
289 INTEGER J(2)
290
291
293
294
295 INTRINSIC dble
296
297
298 INTEGER IAS(2), ICS(2), IRAND(2)
299 COMMON /rancom/ irand, ias, ics
300 SAVE /rancom/
301
302
303
304 pdrand = ( dble(irand(1)) + pow16 * dble(irand(2)) ) / divfac
305
306 CALL lmul( irand, ias, j )
307 CALL ladd( j, ics, irand )
308
309 RETURN
310
311
312
double precision function pdrand(idumm)