]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/mathlib/gen/c/atani64.F
Fixing for Sun
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / c / atani64.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1996/04/01 15:02:03 mclareni
6* Mathlib gen
7*
8*
9#include "gen/pilot.h"
10#if !defined(CERNLIB_DOUBLE)
11 FUNCTION ATANI(X)
12#endif
13#if defined(CERNLIB_DOUBLE)
14 FUNCTION DATANI(X)
15#include "gen/imp64.inc"
16#endif
17 DIMENSION C(0:18)
18
19 PARAMETER (PI = 3.14159 26535 89793 24D0, PIH = PI/2)
20
21 DATA C( 0) / 0.93432 00492 92895 95D0/
22 DATA C( 1) /-0.01950 47944 34351 90D0/
23 DATA C( 2) / 0.00125 17037 06300 59D0/
24 DATA C( 3) /-0.00011 19241 41205 64D0/
25 DATA C( 4) / 0.00001 17754 53855 07D0/
26 DATA C( 5) /-0.00000 13652 83304 87D0/
27 DATA C( 6) / 0.00000 01688 82892 74D0/
28 DATA C( 7) /-0.00000 00218 80246 51D0/
29 DATA C( 8) / 0.00000 00029 35063 61D0/
30 DATA C( 9) /-0.00000 00004 04523 41D0/
31 DATA C(10) / 0.00000 00000 56976 00D0/
32 DATA C(11) /-0.00000 00000 08168 83D0/
33 DATA C(12) / 0.00000 00000 01188 69D0/
34 DATA C(13) /-0.00000 00000 00175 16D0/
35 DATA C(14) / 0.00000 00000 00026 09D0/
36 DATA C(15) /-0.00000 00000 00003 92D0/
37 DATA C(16) / 0.00000 00000 00000 59D0/
38 DATA C(17) /-0.00000 00000 00000 09D0/
39 DATA C(18) / 0.00000 00000 00000 01D0/
40
41 V=ABS(X)
42 IF(V .LE. 1) THEN
43 R=0
44 Y=V
45 ELSE
46 R=PIH*LOG(V)
47 Y=1/V
48 END IF
49 H=2*Y**2-1
50 ALFA=H+H
51 B1=0
52 B2=0
53 DO 1 I = 18,0,-1
54 B0=C(I)+ALFA*B1-B2
55 B2=B1
56 1 B1=B0
57 R=R+Y*(B0-B2)
58 IF(X .LT. 0) R=-R
59#if !defined(CERNLIB_DOUBLE)
60 ATANI=R
61#endif
62#if defined(CERNLIB_DOUBLE)
63 DATANI=R
64#endif
65 RETURN
66 END