This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / b / asinh64.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1996/04/01 15:01:50  mclareni
6 * Mathlib gen
7 *
8 *
9 #include "gen/pilot.h"
10 #if defined(CERNLIB_DOUBLE)
11       FUNCTION DASINH(X)
12 C
13 #include "gen/imp64.inc"
14 C
15       CHARACTER*(*) NAME
16       PARAMETER(NAME='DASINH')
17 #endif
18 #if !defined(CERNLIB_DOUBLE)
19       FUNCTION ASINH(X)
20 C
21       CHARACTER*(*) NAME
22       PARAMETER(NAME='ASINH')
23 #endif
24       DIMENSION C(0:19)
25
26       DATA C( 0) / 0.90649 39198 46333 18D0/
27       DATA C( 1) /-0.02704 21478 78869 64D0/
28       DATA C( 2) / 0.00211 68145 57973 56D0/
29       DATA C( 3) /-0.00021 76650 54603 40D0/
30       DATA C( 4) / 0.00002 55196 04364 81D0/
31       DATA C( 5) /-0.00000 32329 14485 29D0/
32       DATA C( 6) / 0.00000 04310 66959 88D0/
33       DATA C( 7) /-0.00000 00596 06134 55D0/
34       DATA C( 8) / 0.00000 00084 69211 32D0/
35       DATA C( 9) /-0.00000 00012 29008 59D0/
36       DATA C(10) / 0.00000 00001 81376 79D0/
37       DATA C(11) /-0.00000 00000 27138 46D0/
38       DATA C(12) / 0.00000 00000 04107 37D0/
39       DATA C(13) /-0.00000 00000 00627 70D0/
40       DATA C(14) / 0.00000 00000 00096 72D0/
41       DATA C(15) /-0.00000 00000 00015 01D0/
42       DATA C(16) / 0.00000 00000 00002 34D0/
43       DATA C(17) /-0.00000 00000 00000 37D0/
44       DATA C(18) / 0.00000 00000 00000 06D0/
45       DATA C(19) /-0.00000 00000 00000 01D0/
46
47       V=ABS(X)
48       IF(V .LE. 1) THEN
49        H=2*V**2-1
50        ALFA=H+H
51        B1=0
52        B2=0
53        DO 1 I = 19,0,-1
54        B0=C(I)+ALFA*B1-B2
55        B2=B1
56     1  B1=B0
57        R=SIGN(V*(B0-B2),X)
58       ELSE
59        R=LOG(X+SQRT(1+X**2))
60       ENDIF
61 #if defined(CERNLIB_DOUBLE)
62       DASINH=R
63 #endif
64 #if !defined(CERNLIB_DOUBLE)
65        ASINH=R
66 #endif
67       RETURN
68       END