]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
fe4da5cc | 3 | * |
4 | DIMENSION W(12),X(12) | |
5 | ||
6 | PARAMETER (Z1 = 1, HF = Z1/2, CST = 5*Z1/1000) | |
7 | ||
8 | DATA X( 1) /9.6028985649753623D-1/, W( 1) /1.0122853629037626D-1/ | |
9 | DATA X( 2) /7.9666647741362674D-1/, W( 2) /2.2238103445337447D-1/ | |
10 | DATA X( 3) /5.2553240991632899D-1/, W( 3) /3.1370664587788729D-1/ | |
11 | DATA X( 4) /1.8343464249564980D-1/, W( 4) /3.6268378337836198D-1/ | |
12 | DATA X( 5) /9.8940093499164993D-1/, W( 5) /2.7152459411754095D-2/ | |
13 | DATA X( 6) /9.4457502307323258D-1/, W( 6) /6.2253523938647893D-2/ | |
14 | DATA X( 7) /8.6563120238783174D-1/, W( 7) /9.5158511682492785D-2/ | |
15 | DATA X( 8) /7.5540440835500303D-1/, W( 8) /1.2462897125553387D-1/ | |
16 | DATA X( 9) /6.1787624440264375D-1/, W( 9) /1.4959598881657673D-1/ | |
17 | DATA X(10) /4.5801677765722739D-1/, W(10) /1.6915651939500254D-1/ | |
18 | DATA X(11) /2.8160355077925891D-1/, W(11) /1.8260341504492359D-1/ | |
19 | DATA X(12) /9.5012509837637440D-2/, W(12) /1.8945061045506850D-1/ | |
20 | ||
21 | H=0 | |
22 | IF(B .EQ. A) GO TO 99 | |
23 | CONST=CST/ABS(B-A) | |
24 | BB=A | |
25 | 1 AA=BB | |
26 | BB=B | |
27 | 2 C1=HF*(BB+AA) | |
28 | C2=HF*(BB-AA) | |
29 | S8=0 | |
30 | DO 3 I = 1,4 | |
31 | U=C2*X(I) | |
32 | 3 S8=S8+W(I)*(F(C1+U)+F(C1-U)) | |
33 | S16=0 | |
34 | DO 4 I = 5,12 | |
35 | U=C2*X(I) | |
36 | 4 S16=S16+W(I)*(F(C1+U)+F(C1-U)) | |
37 | S16=C2*S16 | |
38 | IF(ABS(S16-C2*S8) .LE. EPS*(1+ABS(S16))) THEN | |
39 | H=H+S16 | |
40 | IF(BB .NE. B) GO TO 1 | |
41 | ELSE | |
42 | BB=C1 | |
43 | IF(1+CONST*ABS(C2) .NE. 1) GO TO 2 | |
44 | H=0 | |
45 | CALL MTLPRT(NAME,'D103.1','TOO HIGH ACCURACY REQUIRED') | |
46 | GO TO 99 | |
47 | END IF |