7 #if defined(CERNLIB_DOUBLE)
9 1 (F,N,A,B,MINPTS,MAXPTS,EPS,WK,IWK,RESULT,RELERR,NFNEVL,IFAIL)
11 PARAMETER (NAME = 'RADMUL')
12 CALL MTLPRT(NAME,'D120',
13 +'not available on this machine - see documentation')
18 1 (F,N,A,B,MINPTS,MAXPTS,EPS,WK,IWK,RESULT,RELERR,NFNEVL,IFAIL)
19 #include "gen/imp64.inc"
23 1 (F,N,A,B,MINPTS,MAXPTS,EPS,WK,IWK,RESULT,RELERR,NFNEVL,IFAIL)
24 #include "gen/imp128.inc"
26 PARAMETER (NAME = 'DADMUL')
27 CALL MTLPRT(NAME,'D120',
28 +'not available on this machine - see documentation')
33 1 (F,N,A,B,MINPTS,MAXPTS,EPS,WK,IWK,RESULT,RELERR,NFNEVL,IFAIL)
38 DIMENSION A(*),B(*),WK(*)
39 DIMENSION CTR(15),WTH(15),WTHL(15),Z(15)
40 DIMENSION W(2:15,5),WP(2:15,3)
42 PARAMETER (R1 = 1, HF = R1/2)
44 PARAMETER (XL2 = 0.35856 85828 00318 073D0)
45 PARAMETER (XL4 = 0.94868 32980 50513 796D0)
46 PARAMETER (XL5 = 0.68824 72016 11685 289D0)
48 PARAMETER (W2 = 980*R1/6561, W4 = 200*R1/19683)
49 PARAMETER (WP2 = 245*R1/486, WP4 = 25*R1/729)
51 DATA (W(N,1),W(N,3),N=2,15)
52 1/-0.193872885230909911D+00, 0.518213686937966768D-01,
53 2 -0.555606360818980835D+00, 0.314992633236803330D-01,
54 3 -0.876695625666819078D+00, 0.111771579535639891D-01,
55 4 -0.115714067977442459D+01, -0.914494741655235473D-02,
56 5 -0.139694152314179743D+01, -0.294670527866686986D-01,
57 6 -0.159609815576893754D+01, -0.497891581567850424D-01,
58 7 -0.175461057765584494D+01, -0.701112635269013768D-01,
59 8 -0.187247878880251983D+01, -0.904333688970177241D-01,
60 9 -0.194970278920896201D+01, -0.110755474267134071D+00,
61 A -0.198628257887517146D+01, -0.131077579637250419D+00,
62 B -0.198221815780114818D+01, -0.151399685007366752D+00,
63 C -0.193750952598689219D+01, -0.171721790377483099D+00,
64 D -0.185215668343240347D+01, -0.192043895747599447D+00,
65 E -0.172615963013768225D+01, -0.212366001117715794D+00/
67 DATA (W(N,5),W(N+1,5),N=2,14,2)
68 1/ 0.871183254585174982D-01, 0.435591627292587508D-01,
69 2 0.217795813646293754D-01, 0.108897906823146873D-01,
70 3 0.544489534115734364D-02, 0.272244767057867193D-02,
71 4 0.136122383528933596D-02, 0.680611917644667955D-03,
72 5 0.340305958822333977D-03, 0.170152979411166995D-03,
73 6 0.850764897055834977D-04, 0.425382448527917472D-04,
74 7 0.212691224263958736D-04, 0.106345612131979372D-04/
76 DATA (WP(N,1),WP(N,3),N=2,15)
77 1/-0.133196159122085045D+01, 0.445816186556927292D-01,
78 2 -0.229218106995884763D+01, -0.240054869684499309D-01,
79 3 -0.311522633744855959D+01, -0.925925925925925875D-01,
80 4 -0.380109739368998611D+01, -0.161179698216735251D+00,
81 5 -0.434979423868312742D+01, -0.229766803840877915D+00,
82 6 -0.476131687242798352D+01, -0.298353909465020564D+00,
83 7 -0.503566529492455417D+01, -0.366941015089163228D+00,
84 8 -0.517283950617283939D+01, -0.435528120713305891D+00,
85 9 -0.517283950617283939D+01, -0.504115226337448555D+00,
86 A -0.503566529492455417D+01, -0.572702331961591218D+00,
87 B -0.476131687242798352D+01, -0.641289437585733882D+00,
88 C -0.434979423868312742D+01, -0.709876543209876532D+00,
89 D -0.380109739368998611D+01, -0.778463648834019195D+00,
90 E -0.311522633744855959D+01, -0.847050754458161859D+00/
95 IF(N .LT. 2 .OR. N .GT. 15) RETURN
96 IF(MINPTS .GT. MAXPTS) RETURN
102 IRLCLS=2**N+2*N*(N+1)+1
105 IF(MAXPTS .LT. IRLCLS) RETURN
107 CTR(J)=(B(J)+A(J))*HF
108 10 WTH(J)=(B(J)-A(J))*HF
120 Z(J)=CTR(J)-XL2*WTH(J)
122 Z(J)=CTR(J)+XL2*WTH(J)
131 DIF=ABS(7*F2-F3-12*SUM1)
132 DIFMAX=MAX(DIF,DIFMAX)
133 IF(DIFMAX .EQ. DIF) IDVAXN=J
142 Z(J1)=CTR(J1)+WTHL(J1)
153 80 Z(J)=CTR(J)+WTHL(J)
158 IF(WTHL(J) .GT. 0) GO TO 90
161 RGNCMP=RGNVOL*(WP(N,1)*SUM1+WP2*SUM2+WP(N,3)*SUM3+WP4*SUM4)
162 RGNVAL=W(N,1)*SUM1+W2*SUM2+W(N,3)*SUM3+W4*SUM4+W(N,5)*SUM5
164 RGNERR=ABS(RGNVAL-RGNCMP)
171 IF(ISBTMP .GT. ISBRGS) GO TO 160
172 IF(ISBTMP .LT. ISBRGS) THEN
174 IF(WK(ISBTMP) .LT. WK(ISBTPP)) ISBTMP=ISBTPP
176 IF(RGNERR .GE. WK(ISBTMP)) GO TO 160
177 DO 130 K = 0,IRGNST-1
178 130 WK(ISBRGN-K)=WK(ISBTMP-K)
182 140 ISBTMP=(ISBRGN/(2*IRGNST))*IRGNST
183 IF(ISBTMP .GE. IRGNST .AND. RGNERR .GT. WK(ISBTMP)) THEN
184 DO 150 K = 0,IRGNST-1
185 150 WK(ISBRGN-K)=WK(ISBTMP-K)
190 160 WK(ISBRGN)=RGNERR
196 170 WK(ISBTMP)=WTH(J)
199 CTR(IDVAX0)=CTR(IDVAX0)+2*WTH(IDVAX0)
204 RELERR=ABSERR/ABS(RESULT)
205 IF(ISBRGS+IRGNST .GT. IWK) IFAIL=2
206 IF(IFNCLS+2*IRLCLS .GT. MAXPTS) IFAIL=1
207 IF(RELERR .LT. EPS .AND. IFNCLS .GE. MINPTS) IFAIL=0
208 IF(IFAIL .EQ. 3) THEN
211 ABSERR=ABSERR-WK(ISBRGN)
212 RESULT=RESULT-WK(ISBRGN-1)
217 190 WTH(J)=WK(ISBTMP)
218 WTH(IDVAX0)=HF*WTH(IDVAX0)
219 CTR(IDVAX0)=CTR(IDVAX0)-WTH(IDVAX0)