224
225
226
227
228
229
230
231 INTEGER IDUMM
232
233
234
235
236
237 REAL DIVFAC, POW16
238 parameter( divfac=2.147483648e+9, pow16=6.5536e+4 )
239
240
241 INTEGER J( 2 )
242
243
245
246
247 INTRINSIC real
248
249
250 INTEGER IAS(2), ICS(2), IRAND(2)
251 COMMON /rancom/ irand, ias, ics
252 SAVE /rancom/
253
254
255
256 psrand = ( real(irand(1)) + pow16 * real(irand(2)) ) / divfac
257
258 CALL lmul( irand, ias, j )
259 CALL ladd( j, ics, irand )
260
261 RETURN
262
263
264
real function psrand(idumm)