]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/mathlib/gen/g/diflan.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / g / diflan.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1996/04/01 15:02:43 mclareni
6* Mathlib gen
7*
8*
9#include "gen/pilot.h"
10C This will be DIFLAN,IF=DOUBLE and DIFLAN64,IF=-DOUBLE
11 FUNCTION DIFLAN(X)
12
13 DIMENSION P1(0:4),P2(0:4),P3(0:4),P4(0:4),P5(0:4),P6(0:4),P7(0:5)
14 DIMENSION Q1(0:4),Q2(0:4),Q3(0:4),Q4(0:4),Q5(0:4),Q6(0:4),Q7(0:5)
15 DIMENSION A1(1:6),A2(1:3)
16
17 DATA (P1(I),I=0,4),(Q1(I),I=0,4)
18 1/-0.30620 16156E-1,-0.12514 24734E+0,-0.95514 20540E-1,
19 2 -0.26943 56206E-1,-0.26175 52485E-2,
20 3 1.0 , 0.11777 46655E+1, 0.61309 93990E+0,
21 4 0.15727 03422E+0, 0.17262 95027E-1/
22
23 DATA (P2(I),I=0,4),(Q2(I),I=0,4)
24 1/-0.15491 26548E-1,-0.75512 22105E-1,-0.25986 23886E-1,
25 2 0.54712 70049E-2, 0.21522 70275E-2,
26 3 1.0 , 0.99974 60723E+0, 0.49882 64176E+0,
27 4 0.12891 04987E+0, 0.16396 32530E-1/
28
29 DATA (P3(I),I=0,4),(Q3(I),I=0,4)
30 1/-0.15471 35743E-1,-0.73041 84799E-1,-0.15341 51353E-1,
31 2 0.35687 80079E-2,-0.92961 96751E-4,
32 3 1.0 , 0.83941 07748E+0, 0.41280 36830E+0,
33 4 0.10502 22892E+0, 0.17008 94650E-1/
34
35 DATA (P4(I),I=0,4),(Q4(I),I=0,4)
36 1/-0.15462 73317E-1,-0.68561 27408E-1, 0.46112 67324E-2,
37 2 -0.25499 45537E-3, 0.58761 90635E-5,
38 3 1.0 , 0.54532 66037E+0, 0.28025 11577E+0,
39 4 0.47491 21515E-1, 0.10962 78827E-1/
40
41 DATA (P5(I),I=0,4),(Q5(I),I=0,4)
42 1/ 0.86420 27131E-5,-0.74742 91951E-3, 0.29356 78494E-1,
43 2 -0.27696 95199E+1,-0.77695 42153E+1,
44 3 1.0 , 0.90003 29289E+0, 0.34619 66768E+2,
45 4 0.46668 93094E+1, 0.19264 64264E+3/
46
47 DATA (P6(I),I=0,4),(Q6(I),I=0,4)
48 1/-0.20124 96309E+1,-0.27484 32206E+3,-0.57590 40086E+4,
49 2 -0.16000 68673E+5, 0.53346 52087E+5,
50 3 1.0 , 0.12295 70501E+3, 0.18746 82285E+4,
51 4 0.56780 25130E+4, 0.52823 54475E5/
52
53 DATA (P7(I),I=0,5),(Q7(I),I=0,5)
54 1/-0.20015 84932E+1,-0.24074 20185E+4,-0.54566 69704E+6,
55 2 -0.28170 17048E+8,-0.20643 92982E+9, 0.90496 05994E+9,
56 3 1.0 , 0.11829 29609E+4, 0.25522 99337E+6,
57 4 0.11392 05796E+8, 0.39347 02081E+8, 0.21080 69087E+9/
58
59 DATA (A1(I),I=1,6)
60 1/-0.45833 33333E+0, 0.86805 55556E-3,-0.28525 27006E-2,
61 2 0.53868 92562E-2,-0.14312 07031E-1, 0.50629 96176E-1/
62
63 DATA (A2(I),I=1,3)
64 1/-0.75367 06011E+1,-0.96018 56962E+1, 0.17146 15239E+3/
65
66 V=X
67 IF(V .LT. -2.6) THEN
68 U=EXP(V+1)
69 DIFLAN=0.3989422803*(EXP(-1/U)/U**1.5)*
70 1 (1+(A1(1)+(A1(2)+(A1(3)+(A1(4)+(A1(5)+A1(6)*U)*U)*U)*U)*U)*U)
71 ELSEIF(V .LT. -1.75) THEN
72 DIFLAN=(P1(0)+(P1(1)+(P1(2)+(P1(3)+P1(4)*V)*V)*V)*V)/
73 1 (Q1(0)+(Q1(1)+(Q1(2)+(Q1(3)+Q1(4)*V)*V)*V)*V)
74 ELSEIF(V .LT. -1.25) THEN
75 DIFLAN=(P2(0)+(P2(1)+(P2(2)+(P2(3)+P2(4)*V)*V)*V)*V)/
76 1 (Q2(0)+(Q2(1)+(Q2(2)+(Q2(3)+Q2(4)*V)*V)*V)*V)
77 ELSEIF(V .LT. 0.5) THEN
78 DIFLAN=(P3(0)+(P3(1)+(P3(2)+(P3(3)+P3(4)*V)*V)*V)*V)/
79 1 (Q3(0)+(Q3(1)+(Q3(2)+(Q3(3)+Q3(4)*V)*V)*V)*V)
80 ELSEIF(V .LT. 5) THEN
81 DIFLAN=(P4(0)+(P4(1)+(P4(2)+(P4(3)+P4(4)*V)*V)*V)*V)/
82 1 (Q4(0)+(Q4(1)+(Q4(2)+(Q4(3)+Q4(4)*V)*V)*V)*V)
83 ELSEIF(V .LT. 15) THEN
84 U=1/V
85 DIFLAN=(P5(0)+(P5(1)+(P5(2)+(P5(3)+P5(4)*U)*U)*U)*U)/
86 1 (Q5(0)+(Q5(1)+(Q5(2)+(Q5(3)+Q5(4)*U)*U)*U)*U)
87 ELSEIF(V .LT. 50) THEN
88 U=1/V
89 DIFLAN=U**3*(P6(0)+(P6(1)+(P6(2)+(P6(3)+P6(4)*U)*U)*U)*U)/
90 1 (Q6(0)+(Q6(1)+(Q6(2)+(Q6(3)+Q6(4)*U)*U)*U)*U)
91 ELSEIF(V .LT. 300) THEN
92 U=1/V
93 DIFLAN=U**3*
94 1 (P7(0)+(P7(1)+(P7(2)+(P7(3)+(P7(4)+P7(5)*U)*U)*U)*U)*U)/
95 2 (Q7(0)+(Q7(1)+(Q7(2)+(Q7(3)+(Q7(4)+Q7(5)*U)*U)*U)*U)*U)
96 ELSE
97 U=V-V*LOG(V)/(V+1)
98 U=1/(U-U*(U+LOG(U)-V)/(U+1))
99 DIFLAN=-U**3*(2.0+(A2(1)+(A2(2)+A2(3)*U)*U)*U)
100 ENDIF
101 RETURN
102 END