]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1996/04/01 15:02:06 mclareni | |
6 | * Mathlib gen | |
7 | * | |
8 | * | |
9 | #include "gen/pilot.h" | |
10 | #if !defined(CERNLIB_DOUBLE) | |
11 | FUNCTION RSININ(X) | |
12 | #endif | |
13 | #if defined(CERNLIB_DOUBLE) | |
14 | FUNCTION DSININ(X) | |
15 | #endif | |
16 | #include "gen/imp64.inc" | |
17 | CHARACTER NAME*(*) | |
18 | CHARACTER*80 ERRTXT | |
19 | #if !defined(CERNLIB_DOUBLE) | |
20 | PARAMETER (NAME = 'RCOSIN') | |
21 | #endif | |
22 | #if defined(CERNLIB_DOUBLE) | |
23 | PARAMETER (NAME = 'RCOSIN/DCOSIN') | |
24 | #endif | |
25 | DIMENSION S(0:15),C(0:15),P(0:28),Q(0:24) | |
26 | ||
27 | PARAMETER (Z1 = 1, R8 = Z1/8, R32 = Z1/32) | |
28 | ||
29 | PARAMETER (PI = 3.14159 26535 89793 24D0) | |
30 | PARAMETER (CE = 0.57721 56649 01532 86D0) | |
31 | PARAMETER (PIH = PI/2) | |
32 | ||
33 | DATA S( 0) /+1.95222 09759 53071 08D0/ | |
34 | DATA S( 1) /-0.68840 42321 25715 44D0/ | |
35 | DATA S( 2) /+0.45518 55132 25584 84D0/ | |
36 | DATA S( 3) /-0.18045 71236 83877 85D0/ | |
37 | DATA S( 4) /+0.04104 22133 75859 24D0/ | |
38 | DATA S( 5) /-0.00595 86169 55588 85D0/ | |
39 | DATA S( 6) /+0.00060 01427 41414 43D0/ | |
40 | DATA S( 7) /-0.00004 44708 32910 75D0/ | |
41 | DATA S( 8) /+0.00000 25300 78230 75D0/ | |
42 | DATA S( 9) /-0.00000 01141 30759 30D0/ | |
43 | DATA S(10) /+0.00000 00041 85783 94D0/ | |
44 | DATA S(11) /-0.00000 00001 27347 06D0/ | |
45 | DATA S(12) /+0.00000 00000 03267 36D0/ | |
46 | DATA S(13) /-0.00000 00000 00071 68D0/ | |
47 | DATA S(14) /+0.00000 00000 00001 36D0/ | |
48 | DATA S(15) /-0.00000 00000 00000 02D0/ | |
49 | ||
50 | DATA C( 0) /+1.94054 91464 83554 93D0/ | |
51 | DATA C( 1) /+0.94134 09132 86521 34D0/ | |
52 | DATA C( 2) /-0.57984 50342 92992 76D0/ | |
53 | DATA C( 3) /+0.30915 72011 15927 13D0/ | |
54 | DATA C( 4) /-0.09161 01792 20771 34D0/ | |
55 | DATA C( 5) /+0.01644 37407 51546 25D0/ | |
56 | DATA C( 6) /-0.00197 13091 95216 41D0/ | |
57 | DATA C( 7) /+0.00016 92538 85083 50D0/ | |
58 | DATA C( 8) /-0.00001 09393 29573 11D0/ | |
59 | DATA C( 9) /+0.00000 05522 38574 84D0/ | |
60 | DATA C(10) /-0.00000 00223 99493 31D0/ | |
61 | DATA C(11) /+0.00000 00007 46533 25D0/ | |
62 | DATA C(12) /-0.00000 00000 20818 33D0/ | |
63 | DATA C(13) /+0.00000 00000 00493 12D0/ | |
64 | DATA C(14) /-0.00000 00000 00010 05D0/ | |
65 | DATA C(15) /+0.00000 00000 00000 18D0/ | |
66 | ||
67 | DATA P( 0) /+0.96074 78397 52035 96D0/ | |
68 | DATA P( 1) /-0.03711 38962 12398 06D0/ | |
69 | DATA P( 2) /+0.00194 14398 88991 90D0/ | |
70 | DATA P( 3) /-0.00017 16598 84251 47D0/ | |
71 | DATA P( 4) /+0.00002 11263 77532 31D0/ | |
72 | DATA P( 5) /-0.00000 32716 32567 12D0/ | |
73 | DATA P( 6) /+0.00000 06006 92116 15D0/ | |
74 | DATA P( 7) /-0.00000 01258 67944 03D0/ | |
75 | DATA P( 8) /+0.00000 00293 25634 58D0/ | |
76 | DATA P( 9) /-0.00000 00074 56959 21D0/ | |
77 | DATA P(10) /+0.00000 00020 41054 78D0/ | |
78 | DATA P(11) /-0.00000 00005 95022 30D0/ | |
79 | DATA P(12) /+0.00000 00001 83229 67D0/ | |
80 | DATA P(13) /-0.00000 00000 59205 06D0/ | |
81 | DATA P(14) /+0.00000 00000 19965 17D0/ | |
82 | DATA P(15) /-0.00000 00000 06995 11D0/ | |
83 | DATA P(16) /+0.00000 00000 02536 86D0/ | |
84 | DATA P(17) /-0.00000 00000 00949 29D0/ | |
85 | DATA P(18) /+0.00000 00000 00365 52D0/ | |
86 | DATA P(19) /-0.00000 00000 00144 49D0/ | |
87 | DATA P(20) /+0.00000 00000 00058 51D0/ | |
88 | DATA P(21) /-0.00000 00000 00024 23D0/ | |
89 | DATA P(22) /+0.00000 00000 00010 25D0/ | |
90 | DATA P(23) /-0.00000 00000 00004 42D0/ | |
91 | DATA P(24) /+0.00000 00000 00001 94D0/ | |
92 | DATA P(25) /-0.00000 00000 00000 87D0/ | |
93 | DATA P(26) /+0.00000 00000 00000 39D0/ | |
94 | DATA P(27) /-0.00000 00000 00000 18D0/ | |
95 | DATA P(28) /+0.00000 00000 00000 08D0/ | |
96 | ||
97 | DATA Q( 0) /+0.98604 06569 62382 60D0/ | |
98 | DATA Q( 1) /-0.01347 17382 08295 21D0/ | |
99 | DATA Q( 2) /+0.00045 32928 41165 23D0/ | |
100 | DATA Q( 3) /-0.00003 06728 86516 55D0/ | |
101 | DATA Q( 4) /+0.00000 31319 91976 01D0/ | |
102 | DATA Q( 5) /-0.00000 04211 01964 96D0/ | |
103 | DATA Q( 6) /+0.00000 00690 72448 30D0/ | |
104 | DATA Q( 7) /-0.00000 00131 83212 90D0/ | |
105 | DATA Q( 8) /+0.00000 00028 36974 33D0/ | |
106 | DATA Q( 9) /-0.00000 00006 73292 34D0/ | |
107 | DATA Q(10) /+0.00000 00001 73396 87D0/ | |
108 | DATA Q(11) /-0.00000 00000 47869 39D0/ | |
109 | DATA Q(12) /+0.00000 00000 14032 35D0/ | |
110 | DATA Q(13) /-0.00000 00000 04334 96D0/ | |
111 | DATA Q(14) /+0.00000 00000 01402 73D0/ | |
112 | DATA Q(15) /-0.00000 00000 00473 06D0/ | |
113 | DATA Q(16) /+0.00000 00000 00165 58D0/ | |
114 | DATA Q(17) /-0.00000 00000 00059 94D0/ | |
115 | DATA Q(18) /+0.00000 00000 00022 37D0/ | |
116 | DATA Q(19) /-0.00000 00000 00008 59D0/ | |
117 | DATA Q(20) /+0.00000 00000 00003 38D0/ | |
118 | DATA Q(21) /-0.00000 00000 00001 36D0/ | |
119 | DATA Q(22) /+0.00000 00000 00000 56D0/ | |
120 | DATA Q(23) /-0.00000 00000 00000 24D0/ | |
121 | DATA Q(24) /+0.00000 00000 00000 10D0/ | |
122 | ||
123 | IF(ABS(X) .LE. 8) THEN | |
124 | Y=R8*X | |
125 | H=2*Y**2-1 | |
126 | ALFA=H+H | |
127 | B1=0 | |
128 | B2=0 | |
129 | DO 1 I = 15,0,-1 | |
130 | B0=S(I)+ALFA*B1-B2 | |
131 | B2=B1 | |
132 | 1 B1=B0 | |
133 | H=Y*(B0-B2) | |
134 | ELSE | |
135 | R=1/X | |
136 | H=128*R**2-1 | |
137 | ALFA=H+H | |
138 | B1=0 | |
139 | B2=0 | |
140 | DO 2 I = 28,0,-1 | |
141 | B0=P(I)+ALFA*B1-B2 | |
142 | B2=B1 | |
143 | 2 B1=B0 | |
144 | PP=B0-H*B2 | |
145 | B1=0 | |
146 | B2=0 | |
147 | DO 3 I = 24,0,-1 | |
148 | B0=Q(I)+ALFA*B1-B2 | |
149 | B2=B1 | |
150 | 3 B1=B0 | |
151 | H=SIGN(PIH,X)-R*(R*PP*SIN(X)+(B0-H*B2)*COS(X)) | |
152 | END IF | |
153 | GO TO 9 | |
154 | ||
155 | #if !defined(CERNLIB_DOUBLE) | |
156 | ENTRY RCOSIN(X) | |
157 | #endif | |
158 | #if defined(CERNLIB_DOUBLE) | |
159 | ENTRY DCOSIN(X) | |
160 | #endif | |
161 | ||
162 | IF(X .EQ. 0) THEN | |
163 | H=0 | |
164 | CALL MTLPRT(NAME,'C336.1','ARGUMENT X = 0') | |
165 | ELSEIF(ABS(X) .LE. 8) THEN | |
166 | H=R32*X**2-1 | |
167 | ALFA=H+H | |
168 | B1=0 | |
169 | B2=0 | |
170 | DO 4 I = 15,0,-1 | |
171 | B0=C(I)+ALFA*B1-B2 | |
172 | B2=B1 | |
173 | 4 B1=B0 | |
174 | H=CE+LOG(ABS(X))-B0+H*B2 | |
175 | ELSE | |
176 | R=1/X | |
177 | H=128*R**2-1 | |
178 | ALFA=H+H | |
179 | B1=0 | |
180 | B2=0 | |
181 | DO 5 I = 28,0,-1 | |
182 | B0=P(I)+ALFA*B1-B2 | |
183 | B2=B1 | |
184 | 5 B1=B0 | |
185 | PP=B0-H*B2 | |
186 | B1=0 | |
187 | B2=0 | |
188 | DO 6 I = 24,0,-1 | |
189 | B0=Q(I)+ALFA*B1-B2 | |
190 | B2=B1 | |
191 | 6 B1=B0 | |
192 | H=R*((B0-H*B2)*SIN(X)-R*PP*COS(X)) | |
193 | END IF | |
194 | #if !defined(CERNLIB_DOUBLE) | |
195 | 9 RSININ=H | |
196 | #endif | |
197 | #if defined(CERNLIB_DOUBLE) | |
198 | 9 DSININ=H | |
199 | #endif | |
200 | RETURN | |
201 | END |