]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1996/04/01 15:02:07 mclareni | |
6 | * Mathlib gen | |
7 | * | |
8 | * | |
9 | #include "gen/pilot.h" | |
10 | #if !defined(CERNLIB_DOUBLE) | |
11 | FUNCTION RDAWSN(X) | |
12 | #endif | |
13 | #if defined(CERNLIB_DOUBLE) | |
14 | FUNCTION DDAWSN(X) | |
15 | #include "gen/imp64.inc" | |
16 | #endif | |
17 | ||
18 | DIMENSION P1(0:8),Q1(0:8) | |
19 | DIMENSION A1(0:7),B1(0:6),A2(0:7),B2(0:6),A3(0:5),B3(0:4) | |
20 | ||
21 | PARAMETER (Z1 = 1, HF = Z1/2, C1 = 2+HF, C2 = 3+HF) | |
22 | ||
23 | DATA P1 | |
24 | 1/+1.73971 38358 72305 8D+8, -2.35903 54309 49078 4D+7, | |
25 | 2 +7.94595 11256 26974 7D+6, -4.49408 95997 95344 8D+5, | |
26 | 3 +6.26435 22480 53304 3D+4, -1.64294 23044 87861 4D+3, | |
27 | 4 +1.10415 15859 64097 2D+2, -1.23806 01126 69044 4D+0, | |
28 | 5 +1.70141 56251 64813 2D-2/ | |
29 | DATA Q1 | |
30 | 1/+1.73971 38358 72305 8D+8, +9.23905 68081 99581 7D+7, | |
31 | 2 +2.31472 94223 70433 8D+7, +3.59959 82595 90670 4D+6, | |
32 | 3 +3.83498 04512 71685 6D+5, +2.90022 12938 95164 3D+4, | |
33 | 4 +1.54480 44953 25198 3D+3, +5.42357 27435 06117 3D+1, | |
34 | 5 +1.00000 00000 00000 0D+0/ | |
35 | DATA A1 | |
36 | 1/+5.00236 89608 86678 8D-1, -5.97678 08682 34888 6D+0, | |
37 | 2 +1.52644 09962 36985 9D+1, -8.89106 47974 78123 3D+0, | |
38 | 3 -7.57931 91808 93692 7D-2, -4.00000 89364 35497 2D+1, | |
39 | 4 +2.93365 74739 54485 3D+1, -1.50695 65118 71605 5D+0/ | |
40 | DATA A2 | |
41 | 1/+4.99999 90270 50535 9D-1, -1.49838 04203 66907 2D+0, | |
42 | 2 -4.98544 80298 66076 7D+0, +5.06460 15374 22307 7D+0, | |
43 | 3 -1.50507 70349 66919 6D+1, -9.16804 87981 35517 1D+0, | |
44 | 4 -2.66167 67489 63992 8D+1, +4.76405 64527 32287 8D+0/ | |
45 | DATA A3 | |
46 | 1/+5.00000 00000 87358 0D-1, -2.50000 27830 30495 0D+0, | |
47 | 2 -4.51057 82777 83269 5D+0, -7.82636 28103 36344 1D+0, | |
48 | 3 -4.05239 81738 80339 4D+1, +4.12716 33274 69802 1D+0/ | |
49 | DATA B1 | |
50 | 1/+2.26064 66607 43091 6D-1, +1.15840 29255 18881 3D+2, | |
51 | 2 +7.29177 55641 55315 0D+1, +1.12461 66202 45754 3D+2, | |
52 | 3 +7.21193 21760 02290 6D+0, +1.24486 78826 22516 2D+3, | |
53 | 4 -6.73106 06974 48133 1D-1/ | |
54 | DATA B2 | |
55 | 1/+2.50011 45961 18389 4D-1, -1.48715 81178 71947 5D+0, | |
56 | 2 +3.30707 72467 61143 7D+1, +1.46515 16778 31092 9D+2, | |
57 | 3 +7.51701 27774 40669 3D+1, +2.56105 72234 22263 5D+1, | |
58 | 4 +2.87776 12297 31873 6D+2/ | |
59 | DATA B3 | |
60 | 1/+7.49999 99263 58122 3D-1, -2.49963 00606 78980 2D+0, | |
61 | 2 -6.58834 68001 31477 4D+0, -6.89636 11433 76130 9D-1, | |
62 | 3 +5.20416 17289 69394 6D+2/ | |
63 | ||
64 | V=ABS(X) | |
65 | Y=V**2 | |
66 | IF(V .LT. C1) THEN | |
67 | P=P1(8) | |
68 | Q=Q1(8) | |
69 | DO 1 I = 7,0,-1 | |
70 | P=Y*P+P1(I) | |
71 | 1 Q=Y*Q+Q1(I) | |
72 | H=X*P/Q | |
73 | ELSE IF(V .LT. C2) THEN | |
74 | P=Y+A1(7) | |
75 | DO 2 I = 6,1,-1 | |
76 | 2 P=Y+A1(I)+B1(I)/P | |
77 | H=(A1(0)+B1(0)/P)/X | |
78 | ELSE IF(V .LT. 5) THEN | |
79 | P=Y+A2(7) | |
80 | DO 3 I = 6,1,-1 | |
81 | 3 P=Y+A2(I)+B2(I)/P | |
82 | H=(A2(0)+B2(0)/P)/X | |
83 | ELSE | |
84 | P=Y+A3(5) | |
85 | DO 4 I = 4,1,-1 | |
86 | 4 P=Y+A3(I)+B3(I)/P | |
87 | H=(HF+HF*(A3(0)+B3(0)/P)/Y)/X | |
88 | END IF | |
89 | #if !defined(CERNLIB_DOUBLE) | |
90 | RDAWSN=H | |
91 | #endif | |
92 | #if defined(CERNLIB_DOUBLE) | |
93 | DDAWSN=H | |
94 | #endif | |
95 | RETURN | |
96 | END |