|
Last change
on this file since 3302 was 2403, checked in by cmv, 22 years ago |
Creation du module de code source de MINUIT (CERNLIB) extrait par CMV
cmv 11/06/2003
|
|
File size:
912 bytes
|
| Line | |
|---|
| 1 | *
|
|---|
| 2 | * $Id: mnrn15.F,v 1.1.1.1 2003-06-11 14:18:29 cmv Exp $
|
|---|
| 3 | *
|
|---|
| 4 | * $Log: not supported by cvs2svn $
|
|---|
| 5 | * Revision 1.1.1.1 1996/03/07 14:31:31 mclareni
|
|---|
| 6 | * Minuit
|
|---|
| 7 | *
|
|---|
| 8 | *
|
|---|
| 9 | #include "minuit/pilot.h"
|
|---|
| 10 | SUBROUTINE MNRN15(VAL,INSEED)
|
|---|
| 11 | #include "minuit/d506dp.inc"
|
|---|
| 12 | C This is a super-portable random number generator.
|
|---|
| 13 | C It should not overflow on any 32-bit machine.
|
|---|
| 14 | C The cycle is only ~10**9, so use with care!
|
|---|
| 15 | C Note especially that VAL must not be undefined on input.
|
|---|
| 16 | C Set Default Starting Seed
|
|---|
| 17 | PARAMETER (THREE=3.0)
|
|---|
| 18 | DATA ISEED/12345/
|
|---|
| 19 | IF (VAL .EQ. THREE) GO TO 100
|
|---|
| 20 | C
|
|---|
| 21 | INSEED = ISEED
|
|---|
| 22 | K = ISEED/53668
|
|---|
| 23 | ISEED = 40014*(ISEED-K*53668) - K*12211
|
|---|
| 24 | IF (ISEED .LT. 0) ISEED = ISEED + 2147483563
|
|---|
| 25 | VAL = REAL(ISEED) * 4.656613E-10
|
|---|
| 26 | RETURN
|
|---|
| 27 | C "entry" to set seed, flag is VAL=3.
|
|---|
| 28 | 100 ISEED = INSEED
|
|---|
| 29 | RETURN
|
|---|
| 30 | END
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.