]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/mathlib/gen/c/frsin64.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / c / frsin64.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1996/04/01 15:02:02 mclareni
6* Mathlib gen
7*
8*
9#include "gen/pilot.h"
10#if !defined(CERNLIB_DOUBLE)
11 FUNCTION RFRSIN(X)
12#endif
13#if defined(CERNLIB_DOUBLE)
14 FUNCTION DFRSIN(X)
15#include "gen/imp64.inc"
16#endif
17
18 DIMENSION A(0:16),B(0:15),C1(0:25),C2(0:28)
19
20 PARAMETER (Z1 = 1, R8 = Z1/8, R32 = Z1/32)
21
22 DATA C0 /1.25331 41373 15500 3D0/
23
24 DATA NA,NB,NC1,NC2 /16,15,25,28/
25
26 DATA A( 0) / 0.76435 13866 41860 002D0/
27 DATA A( 1) /-0.43135 54754 76601 793D0/
28 DATA A( 2) / 0.43288 19997 97266 531D0/
29 DATA A( 3) /-0.26973 31033 83871 110D0/
30 DATA A( 4) / 0.08416 04532 08769 354D0/
31 DATA A( 5) /-0.01546 52448 44613 820D0/
32 DATA A( 6) / 0.00187 85542 34398 220D0/
33 DATA A( 7) /-0.00016 26497 76188 875D0/
34 DATA A( 8) / 0.00001 05739 76563 833D0/
35 DATA A( 9) /-0.00000 05360 93398 892D0/
36 DATA A(10) / 0.00000 00218 16584 549D0/
37 DATA A(11) /-0.00000 00007 29016 212D0/
38 DATA A(12) / 0.00000 00000 20373 325D0/
39 DATA A(13) /-0.00000 00000 00483 440D0/
40 DATA A(14) / 0.00000 00000 00009 865D0/
41 DATA A(15) /-0.00000 00000 00000 175D0/
42 DATA A(16) / 0.00000 00000 00000 003D0/
43
44 DATA B( 0) / 0.63041 40431 45705 392D0/
45 DATA B( 1) /-0.42344 51140 57053 335D0/
46 DATA B( 2) / 0.37617 17264 33436 566D0/
47 DATA B( 3) /-0.16249 48915 45095 674D0/
48 DATA B( 4) / 0.03822 25577 86330 087D0/
49 DATA B( 5) /-0.00564 56347 71321 909D0/
50 DATA B( 6) / 0.00057 45495 19768 974D0/
51 DATA B( 7) /-0.00004 28707 15321 020D0/
52 DATA B( 8) / 0.00000 24512 07499 233D0/
53 DATA B( 9) /-0.00000 01109 88418 409D0/
54 DATA B(10) / 0.00000 00040 82497 317D0/
55 DATA B(11) /-0.00000 00001 24498 302D0/
56 DATA B(12) / 0.00000 00000 03200 484D0/
57 DATA B(13) /-0.00000 00000 00070 324D0/
58 DATA B(14) / 0.00000 00000 00001 336D0/
59 DATA B(15) /-0.00000 00000 00000 022D0/
60
61 DATA C1( 0) / 0.99056 04793 73497 549D0/
62 DATA C1( 1) /-0.01218 35098 31478 997D0/
63 DATA C1( 2) /-0.00248 27428 23113 060D0/
64 DATA C1( 3) / 0.00026 60949 52647 247D0/
65 DATA C1( 4) /-0.00000 10790 68987 406D0/
66 DATA C1( 5) /-0.00000 48836 81753 933D0/
67 DATA C1( 6) / 0.00000 09990 55266 368D0/
68 DATA C1( 7) /-0.00000 00750 92717 372D0/
69 DATA C1( 8) /-0.00000 00190 79487 573D0/
70 DATA C1( 9) / 0.00000 00090 90797 293D0/
71 DATA C1(10) /-0.00000 00019 66236 033D0/
72 DATA C1(11) / 0.00000 00001 64772 911D0/
73 DATA C1(12) / 0.00000 00000 63079 714D0/
74 DATA C1(13) /-0.00000 00000 36432 219D0/
75 DATA C1(14) / 0.00000 00000 10536 930D0/
76 DATA C1(15) /-0.00000 00000 01716 438D0/
77 DATA C1(16) /-0.00000 00000 00107 124D0/
78 DATA C1(17) / 0.00000 00000 00204 099D0/
79 DATA C1(18) /-0.00000 00000 00090 064D0/
80 DATA C1(19) / 0.00000 00000 00025 506D0/
81 DATA C1(20) /-0.00000 00000 00004 036D0/
82 DATA C1(21) /-0.00000 00000 00000 570D0/
83 DATA C1(22) / 0.00000 00000 00000 762D0/
84 DATA C1(23) /-0.00000 00000 00000 363D0/
85 DATA C1(24) / 0.00000 00000 00000 118D0/
86 DATA C1(25) /-0.00000 00000 00000 025D0/
87
88 DATA C2( 0) / 0.04655 77987 37516 4561D0/
89 DATA C2( 1) / 0.04499 21302 01239 4140D0/
90 DATA C2( 2) /-0.00175 42871 39651 4532D0/
91 DATA C2( 3) /-0.00014 65340 02581 0678D0/
92 DATA C2( 4) / 0.00003 91330 40863 0159D0/
93 DATA C2( 5) /-0.00000 34932 28659 7731D0/
94 DATA C2( 6) /-0.00000 03153 53003 2345D0/
95 DATA C2( 7) / 0.00000 01876 58200 8529D0/
96 DATA C2( 8) /-0.00000 00377 55280 4930D0/
97 DATA C2( 9) / 0.00000 00026 65516 5010D0/
98 DATA C2(10) / 0.00000 00010 88144 8122D0/
99 DATA C2(11) /-0.00000 00005 35500 7671D0/
100 DATA C2(12) / 0.00000 00001 31576 5447D0/
101 DATA C2(13) /-0.00000 00000 15286 0881D0/
102 DATA C2(14) /-0.00000 00000 03394 7646D0/
103 DATA C2(15) / 0.00000 00000 02702 0267D0/
104 DATA C2(16) /-0.00000 00000 00946 3142D0/
105 DATA C2(17) / 0.00000 00000 00207 1565D0/
106 DATA C2(18) /-0.00000 00000 00012 6931D0/
107 DATA C2(19) /-0.00000 00000 00013 9756D0/
108 DATA C2(20) / 0.00000 00000 00008 5929D0/
109 DATA C2(21) /-0.00000 00000 00003 1070D0/
110 DATA C2(22) / 0.00000 00000 00000 7515D0/
111 DATA C2(23) /-0.00000 00000 00000 0648D0/
112 DATA C2(24) /-0.00000 00000 00000 0522D0/
113 DATA C2(25) / 0.00000 00000 00000 0386D0/
114 DATA C2(26) /-0.00000 00000 00000 0165D0/
115 DATA C2(27) / 0.00000 00000 00000 0050D0/
116 DATA C2(28) /-0.00000 00000 00000 0009D0/
117
118 V=ABS(X)
119 IF(V .LT. 8) THEN
120 Y=R8*V
121 H=2*Y**2-1
122 ALFA=H+H
123 B1=0
124 B2=0
125 DO 4 I = NB,0,-1
126 B0=B(I)+ALFA*B1-B2
127 B2=B1
128 4 B1=B0
129 H=SQRT(V)*Y*(B0-B2)
130 ELSE
131 R=1/V
132 H=10*R-1
133 ALFA=H+H
134 B1=0
135 B2=0
136 DO 5 I = NC1,0,-1
137 B0=C1(I)+ALFA*B1-B2
138 B2=B1
139 5 B1=B0
140 S=B0-H*B2
141 B1=0
142 B2=0
143 DO 6 I = NC2,0,-1
144 B0=C2(I)+ALFA*B1-B2
145 B2=B1
146 6 B1=B0
147 H=C0-SQRT(R)*(S*COS(V)+(B0-H*B2)*SIN(V))
148 END IF
149 IF(X .LT. 0) H=-H
150 GO TO 9
151
152#if !defined(CERNLIB_DOUBLE)
153 ENTRY RFRCOS(X)
154#endif
155#if defined(CERNLIB_DOUBLE)
156 ENTRY DFRCOS(X)
157#endif
158 V=ABS(X)
159 IF(V .LT. 8) THEN
160 H=R32*V**2-1
161 ALFA=H+H
162 B1=0
163 B2=0
164 DO 1 I = NA,0,-1
165 B0=A(I)+ALFA*B1-B2
166 B2=B1
167 1 B1=B0
168 H=SQRT(V)*(B0-H*B2)
169 ELSE
170 R=1/V
171 H=10*R-1
172 ALFA=H+H
173 B1=0
174 B2=0
175 DO 2 I = NC1,0,-1
176 B0=C1(I)+ALFA*B1-B2
177 B2=B1
178 2 B1=B0
179 S=B0-H*B2
180 B1=0
181 B2=0
182 DO 3 I = NC2,0,-1
183 B0=C2(I)+ALFA*B1-B2
184 B2=B1
185 3 B1=B0
186 H=C0-SQRT(R)*((B0-H*B2)*COS(V)-S*SIN(V))
187 END IF
188 IF(X .LT. 0) H=-H
189#if !defined(CERNLIB_DOUBLE)
190 9 RFRSIN=H
191#endif
192#if defined(CERNLIB_DOUBLE)
193 9 DFRSIN=H
194#endif
195 RETURN
196 END