]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MINICERN/mathlib/gen/g/xm1lan.F
This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / g / xm1lan.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1996/04/01 15:02:44  mclareni
6 * Mathlib gen
7 *
8 *
9 #include "gen/pilot.h"
10 C     This will be XM1LAN,IF=DOUBLE and XM1LAN64,IF=-DOUBLE
11       FUNCTION XM1LAN(X)
12
13       DIMENSION P1(0:4),P2(0:4),P3(0:4),P4(0:3),P5(0:3)
14       DIMENSION Q1(0:4),Q2(0:4),Q3(0:4),Q4(0:3),Q5(0:3)
15       DIMENSION A0(0:5),A1(1:3),A2(1:4)
16
17       DATA (P1(I),I=0,4),(Q1(I),I=0,4)
18      1/-0.89493 74280E+0, 0.46317 83434E+0,-0.40533 32915E-1,
19      2  0.15800 75560E-1,-0.34238 74194E-2,
20      3  1.0             , 0.10029 30749E+0, 0.35752 71633E-1,
21      4 -0.19158 82099E-2, 0.48110 72364E-4/
22
23       DATA (P2(I),I=0,4),(Q2(I),I=0,4)
24      1/-0.89333 84046E+0, 0.11612 96496E+0, 0.12000 82940E+0,
25      2  0.21856 99725E-1, 0.21288 92058E-2,
26      3  1.0             , 0.49355 31886E+0, 0.10663 47067E+0,
27      4  0.12501 61833E-1, 0.54942 43254E-3/
28
29       DATA (P3(I),I=0,4),(Q3(I),I=0,4)
30      1/-0.89333 22067E+0, 0.23395 44896E+0, 0.82576 53222E-1,
31      2  0.14112 26998E-1, 0.28922 40953E-3,
32      3  1.0             , 0.36165 38408E+0, 0.66280 26743E-1,
33      4  0.48392 98984E-2, 0.52483 10361E-4/
34
35       DATA (P4(I),I=0,3),(Q4(I),I=0,3)
36      1/ 0.93584 19425E+0, 0.67168 31438E+2,-0.67650 69077E+3,
37      2  0.90266 61865E+3,
38      3  1.0             , 0.77525 62854E+2,-0.56378 11998E+3,
39      4 -0.55131 56752E+3/
40
41       DATA (P5(I),I=0,3),(Q5(I),I=0,3)
42      1/ 0.94893 35583E+0, 0.55612 46706E+3, 0.32082 74617E+5,
43      2 -0.48899 26524E+5,
44      3  1.0             , 0.60282 75940E+3, 0.37169 62017E+5,
45      4  0.36862 72898E+5/
46
47       DATA (A0(I),I=0,5)
48      1/-0.42278 43351E+0,-0.15443 13298E+0, 0.42278 43351E+0,
49      2  0.32764 96874E+1, 0.20434 03138E+1,-0.86812 96500E+1/
50
51       DATA (A1(I),I=1,3)
52      1/-0.45833 33333E+0, 0.66753 47222E+0,-0.16417 41416E+1/
53
54       DATA (A2(I),I=1,4)
55      1/-0.19583 33333E+1, 0.55633 68056E+1,-0.21113 52961E+2,
56      2  0.10069 46266E+3/
57
58       V=X
59       IF(V .LT. -4.5) THEN
60        U=EXP(V+1)
61        XM1LAN=V-U*(1+(A2(1)+(A2(2)+(A2(3)+A2(4)*U)*U)*U)*U)/
62      1            (1+(A1(1)+(A1(2)+A1(3)*U)*U)*U)
63       ELSEIF(V .LT. -2) THEN
64        XM1LAN=(P1(0)+(P1(1)+(P1(2)+(P1(3)+P1(4)*V)*V)*V)*V)/
65      1        (Q1(0)+(Q1(1)+(Q1(2)+(Q1(3)+Q1(4)*V)*V)*V)*V)
66       ELSEIF(V .LT. 2) THEN
67        XM1LAN=(P2(0)+(P2(1)+(P2(2)+(P2(3)+P2(4)*V)*V)*V)*V)/
68      1        (Q2(0)+(Q2(1)+(Q2(2)+(Q2(3)+Q2(4)*V)*V)*V)*V)
69       ELSEIF(V .LT. 10) THEN
70        XM1LAN=(P3(0)+(P3(1)+(P3(2)+(P3(3)+P3(4)*V)*V)*V)*V)/
71      1        (Q3(0)+(Q3(1)+(Q3(2)+(Q3(3)+Q3(4)*V)*V)*V)*V)
72       ELSEIF(V .LT. 40) THEN
73        U=1/V
74        XM1LAN=LOG(V)*(P4(0)+(P4(1)+(P4(2)+P4(3)*U)*U)*U)/
75      1                (Q4(0)+(Q4(1)+(Q4(2)+Q4(3)*U)*U)*U)
76       ELSEIF(V .LT. 200) THEN
77        U=1/V
78        XM1LAN=LOG(V)*(P5(0)+(P5(1)+(P5(2)+P5(3)*U)*U)*U)/
79      1                (Q5(0)+(Q5(1)+(Q5(2)+Q5(3)*U)*U)*U)
80       ELSE
81        U=V-V*LOG(V)/(V+1)
82        V=1/(U-U*(U+LOG(U)-V)/(U+1))
83        U=-LOG(V)
84        XM1LAN=(U+A0(0)+(-U+A0(1)+(A0(2)*U+A0(3)+(A0(4)*U+A0(5))*V)*V)*V)
85      1       /(1-(1-(A0(2)+A0(4)*V)*V)*V)
86       ENDIF
87       RETURN
88       END