]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/mathlib/gen/c/sinint64.F
Fixing for Sun
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / c / sinint64.F
CommitLineData
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