]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 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 |