* * $Id: ranecq.F,v 1.1.1.1 1996/02/15 17:49:53 mclareni Exp $ * * $Log: ranecq.F,v $ * Revision 1.1.1.1 1996/02/15 17:49:53 mclareni * Kernlib * * #include "kerngen/pilot.h" SUBROUTINE RANECQ(IS1,IS2,ISEQ,CHOPT) C C CERN PROGLIB# V114 RANECQ .VERSION KERNFOR 4.21 890323 C ORIG. 01/03/89 FCA + FJ C CHARACTER*(*) CHOPT CHARACTER*12 CCHOPT #if defined(CERNLIB_QMIBM)||defined(CERNLIB_QMIBX)||defined(CERNLIB_QMAPO10) DOUBLE PRECISION ISEED #endif #if defined(CERNLIB_QMCRY) REAL ISEED #endif PARAMETER (MAXSEQ=100) DIMENSION LSEQS(2,MAXSEQ) COMMON / RANEC1 / JSEQ(2), ISEED(2,MAXSEQ) SAVE /RANEC1/ DATA (LSEQS(J, 1),J=1,2) / 9876, 54321/ DATA (LSEQS(J, 2),J=1,2) /1058718014,1872605764/ DATA (LSEQS(J, 3),J=1,2) /1814868809, 849641138/ DATA (LSEQS(J, 4),J=1,2) /1503041326, 998515605/ DATA (LSEQS(J, 5),J=1,2) / 628142053, 244439171/ DATA (LSEQS(J, 6),J=1,2) /1391554630, 846883852/ DATA (LSEQS(J, 7),J=1,2) /1535236638, 154775958/ DATA (LSEQS(J, 8),J=1,2) /1747133713,1575487760/ DATA (LSEQS(J, 9),J=1,2) / 714962706,2107758832/ DATA (LSEQS(J, 10),J=1,2) /1486824114, 786139113/ DATA (LSEQS(J, 11),J=1,2) /1323688611, 371658774/ DATA (LSEQS(J, 12),J=1,2) /1570590541, 630312859/ DATA (LSEQS(J, 13),J=1,2) /1555058144, 358976382/ DATA (LSEQS(J, 14),J=1,2) / 952681104,1242126412/ DATA (LSEQS(J, 15),J=1,2) /1083789165,1890043487/ DATA (LSEQS(J, 16),J=1,2) / 631749547,1925864168/ DATA (LSEQS(J, 17),J=1,2) /1178945274,1475158130/ DATA (LSEQS(J, 18),J=1,2) /1009344940,1502757676/ DATA (LSEQS(J, 19),J=1,2) /1933972860,1627514572/ DATA (LSEQS(J, 20),J=1,2) /1875817978, 567972013/ DATA (LSEQS(J, 21),J=1,2) / 446320203, 273324776/ DATA (LSEQS(J, 22),J=1,2) / 460899131,1527583930/ DATA (LSEQS(J, 23),J=1,2) / 35532104, 558897732/ DATA (LSEQS(J, 24),J=1,2) /2089458455,1339622951/ DATA (LSEQS(J, 25),J=1,2) /1535926201,1918446533/ DATA (LSEQS(J, 26),J=1,2) / 669734232,1019772931/ DATA (LSEQS(J, 27),J=1,2) / 501928827, 285518477/ DATA (LSEQS(J, 28),J=1,2) / 942354467, 280177956/ DATA (LSEQS(J, 29),J=1,2) / 192461969,1576639468/ DATA (LSEQS(J, 30),J=1,2) /1601863355, 661544549/ DATA (LSEQS(J, 31),J=1,2) /1743728581, 523887323/ DATA (LSEQS(J, 32),J=1,2) /1703010089,1259731603/ DATA (LSEQS(J, 33),J=1,2) /1643511188, 875622567/ DATA (LSEQS(J, 34),J=1,2) /1755559262,2142089492/ DATA (LSEQS(J, 35),J=1,2) / 114689819, 126275958/ DATA (LSEQS(J, 36),J=1,2) / 105250298,1127134231/ DATA (LSEQS(J, 37),J=1,2) / 79402987,1236641847/ DATA (LSEQS(J, 38),J=1,2) / 387101667,1706644076/ DATA (LSEQS(J, 39),J=1,2) /1734232502, 664024463/ DATA (LSEQS(J, 40),J=1,2) /2123161160,1759230139/ DATA (LSEQS(J, 41),J=1,2) /1811169504,1405252309/ DATA (LSEQS(J, 42),J=1,2) /1766746084, 274705383/ DATA (LSEQS(J, 43),J=1,2) / 959435020, 108779126/ DATA (LSEQS(J, 44),J=1,2) /2062813302,1863432262/ DATA (LSEQS(J, 45),J=1,2) /1691639052,1503605588/ DATA (LSEQS(J, 46),J=1,2) /1086444145, 158310100/ DATA (LSEQS(J, 47),J=1,2) /2058594463, 810394383/ DATA (LSEQS(J, 48),J=1,2) /2101564568,1105108539/ DATA (LSEQS(J, 49),J=1,2) / 978826660, 617502647/ DATA (LSEQS(J, 50),J=1,2) /1436276288, 529578818/ DATA (LSEQS(J, 51),J=1,2) / 556864235, 606529730/ DATA (LSEQS(J, 52),J=1,2) /1078146847,1147358663/ DATA (LSEQS(J, 53),J=1,2) /1447193285,1376658008/ DATA (LSEQS(J, 54),J=1,2) /1006664521,1311015086/ DATA (LSEQS(J, 55),J=1,2) /1837174956, 768046385/ DATA (LSEQS(J, 56),J=1,2) / 896589370, 260492364/ DATA (LSEQS(J, 57),J=1,2) /1360218380,1414233683/ DATA (LSEQS(J, 58),J=1,2) /1278625491,1552675421/ DATA (LSEQS(J, 59),J=1,2) /1011812242,1458050027/ DATA (LSEQS(J, 60),J=1,2) /1754922946,1785085266/ DATA (LSEQS(J, 61),J=1,2) /1343566665, 443288238/ DATA (LSEQS(J, 62),J=1,2) /1437791085,2078825854/ DATA (LSEQS(J, 63),J=1,2) /2094123993,1341409348/ DATA (LSEQS(J, 64),J=1,2) /1537730690, 153906788/ DATA (LSEQS(J, 65),J=1,2) /2127544614, 4856371/ DATA (LSEQS(J, 66),J=1,2) /1004692237, 786489538/ DATA (LSEQS(J, 67),J=1,2) / 821800123,1417369188/ DATA (LSEQS(J, 68),J=1,2) / 312261859, 286397034/ DATA (LSEQS(J, 69),J=1,2) /1519811572, 144643793/ DATA (LSEQS(J, 70),J=1,2) / 5329351,1263184329/ DATA (LSEQS(J, 71),J=1,2) /1416419532,1842707225/ DATA (LSEQS(J, 72),J=1,2) /1697860185, 840465352/ DATA (LSEQS(J, 73),J=1,2) /1934192451, 619946463/ DATA (LSEQS(J, 74),J=1,2) / 170088516,1174161868/ DATA (LSEQS(J, 75),J=1,2) /1304806046, 108470534/ DATA (LSEQS(J, 76),J=1,2) /1976265015,1714480092/ DATA (LSEQS(J, 77),J=1,2) / 783664411, 978542208/ DATA (LSEQS(J, 78),J=1,2) /1694901962, 55891868/ DATA (LSEQS(J, 79),J=1,2) /1548123234, 424683817/ DATA (LSEQS(J, 80),J=1,2) /1042788941,1370039022/ DATA (LSEQS(J, 81),J=1,2) /1576822555,1268584439/ DATA (LSEQS(J, 82),J=1,2) / 831708278,1432924432/ DATA (LSEQS(J, 83),J=1,2) / 993848687, 233811113/ DATA (LSEQS(J, 84),J=1,2) / 745249148, 738800065/ DATA (LSEQS(J, 85),J=1,2) /1947731465,1336392610/ DATA (LSEQS(J, 86),J=1,2) /1402689657,1392469639/ DATA (LSEQS(J, 87),J=1,2) / 311285254,1241207984/ DATA (LSEQS(J, 88),J=1,2) /1206768222, 887510662/ DATA (LSEQS(J, 89),J=1,2) / 762376025,1967748670/ DATA (LSEQS(J, 90),J=1,2) / 923860508, 824843061/ DATA (LSEQS(J, 91),J=1,2) / 755432194,1333575913/ DATA (LSEQS(J, 92),J=1,2) / 233721957, 126133675/ DATA (LSEQS(J, 93),J=1,2) /1989717210, 691593480/ DATA (LSEQS(J, 94),J=1,2) /1030990373, 128881640/ DATA (LSEQS(J, 95),J=1,2) /1322807026, 928284400/ DATA (LSEQS(J, 96),J=1,2) /1169603884,1077182026/ DATA (LSEQS(J, 97),J=1,2) / 976273645,1973303129/ DATA (LSEQS(J, 98),J=1,2) / 530354343,1592879270/ DATA (LSEQS(J, 99),J=1,2) / 947509404, 205601315/ DATA (LSEQS(J,100),J=1,2) /1840231302,1716122836/ C CCHOPT = CHOPT IF(CCHOPT.EQ.' ') THEN JSEQ(1) = 1 IF(ISEQ.GT.0.AND.ISEQ.LE.MAXSEQ) JSEQ(1) = ISEQ ISEED(1,JSEQ(1)) = LSEQS(1,JSEQ(1)) ISEED(2,JSEQ(1)) = LSEQS(2,JSEQ(1)) GO TO 999 ENDIF IF(INDEX(CHOPT,'S').NE.0) THEN IF(ISEQ.GT.0) JSEQ(1) = ISEQ IF(IS1.GT.0.AND.IS2.GT.0) THEN ISEED(1,JSEQ(1)) = IS1 ISEED(2,JSEQ(1)) = IS2 ENDIF ENDIF IF(INDEX(CHOPT,'R').NE.0) THEN IF(ISEQ.LE.0) ISEQ = JSEQ(1) IS1 = ISEED(1,ISEQ) IS2 = ISEED(2,ISEQ) JSEQ(1) = ISEQ ENDIF IF(INDEX(CHOPT,'Q').NE.0) THEN IF(ISEQ.GE.0.AND.ISEQ.LE.MAXSEQ) THEN IS1 = LSEQS(1,ISEQ) IS2 = LSEQS(2,ISEQ) ELSE IS1 = 0 IS2 = 0 ENDIF ENDIF C 999 RETURN END