5 * Revision 1.1.1.1 1996/04/01 15:02:08 mclareni
10 #if defined(CERNLIB_DOUBLE)
11 SUBROUTINE DBSKA(X,IA,JA,NL,B)
12 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
14 #if !defined(CERNLIB_DOUBLE)
15 SUBROUTINE BSKA(X,IA,JA,NL,B)
16 #include "gen/imp64.inc"
20 CHARACTER NAME*(*),ENAM*(*)
22 PARAMETER (NAME = 'BSKA/DBSKA', ENAM = 'EBSKA/DEBKA')
24 PARAMETER (Z1 = 1, Z2 = 2, Z3 = 3, Z4 = 4)
25 PARAMETER (Z12 = Z1/Z2, Z13 = Z1/Z3, Z14 = Z1/Z4, Z23 = Z2/Z3)
26 PARAMETER (Z34 = Z3/Z4)
30 PARAMETER (PI = 3.14159 26535 89793D0, PIV = PI/4)
35 #if defined(CERNLIB_DOUBLE)
36 ENTRY DEBKA(X,IA,JA,NL,B)
38 #if !defined(CERNLIB_DOUBLE)
39 ENTRY EBKA(X,IA,JA,NL,B)
50 CALL MTLPRT(ENAM,'C341.1',ERRTXT)
51 ELSEIF(NL .LT. 0 .OR. NL .GT. 100) THEN
54 CALL MTLPRT(ENAM,'C341.3',ERRTXT)
55 ELSEIF(IA .EQ. 0) THEN
59 ELSEIF(MODE .EQ. 12) THEN
63 ELSEIF(MODE .EQ. 13) THEN
66 B(1)=DEBKR3(X,2)+A*U*B(0)
67 ELSEIF(MODE .EQ. 14) THEN
70 B(1)=DEBKR4(X,3)+A*U*B(0)
71 ELSEIF(MODE .EQ. 23) THEN
74 B(1)=DEBKR3(X,1)+A*U*B(0)
75 ELSEIF(MODE .EQ. 34) THEN
78 B(1)=DEBKR4(X,1)+A*U*B(0)
81 WRITE(ERRTXT,102) IA,JA
82 CALL MTLPRT(ENAM,'C341.2',ERRTXT)
88 CALL MTLPRT(NAME,'C341.1',ERRTXT)
89 ELSEIF(NL .LT. 0 .OR. NL .GT. 100) THEN
92 CALL MTLPRT(NAME,'C341.3',ERRTXT)
93 ELSEIF(IA .EQ. 0) THEN
97 ELSEIF(MODE .EQ. 12) THEN
99 B(0)=EXP(-X)*SQRT(PIV*U)
101 ELSEIF(MODE .EQ. 13) THEN
104 B(1)=DBSKR3(X,2)+A*U*B(0)
105 ELSEIF(MODE .EQ. 14) THEN
108 B(1)=DBSKR4(X,3)+A*U*B(0)
109 ELSEIF(MODE .EQ. 23) THEN
112 B(1)=DBSKR3(X,1)+A*U*B(0)
113 ELSEIF(MODE .EQ. 34) THEN
116 B(1)=DBSKR4(X,1)+A*U*B(0)
119 WRITE(ERRTXT,102) IA,JA
120 CALL MTLPRT(NAME,'C341.2',ERRTXT)
125 1 B(J+1)=B(J-1)+A*U*B(J)
127 101 FORMAT('NON-POSITIVE ARGUMENT X = ',E15.6)
128 102 FORMAT('PAIR (IA,JA) = (',I5,I5,') ILLEGAL')
129 103 FORMAT('ILLEGAL NL =',I5)