1 ;;; Compiled by f2cl version:
2 ;;; ("f2cl1.l,v 46c1f6a93b0d 2012/05/03 04:40:28 toy $"
3 ;;; "f2cl2.l,v 96616d88fb7e 2008/02/22 22:19:34 rtoy $"
4 ;;; "f2cl3.l,v 96616d88fb7e 2008/02/22 22:19:34 rtoy $"
5 ;;; "f2cl4.l,v 96616d88fb7e 2008/02/22 22:19:34 rtoy $"
6 ;;; "f2cl5.l,v 46c1f6a93b0d 2012/05/03 04:40:28 toy $"
7 ;;; "f2cl6.l,v 1d5cbacbb977 2008/08/24 00:56:27 rtoy $"
8 ;;; "macros.l,v fceac530ef0c 2011/11/26 04:02:26 toy $")
10 ;;; Using Lisp CMU Common Lisp snapshot-2012-04 (20C Unicode)
12 ;;; Options: ((:prune-labels nil) (:auto-save t) (:relaxed-array-decls t)
13 ;;; (:coerce-assigns :as-needed) (:array-type ':simple-array)
14 ;;; (:array-slicing nil) (:declare-common nil)
15 ;;; (:float-format double-float))
26 :element-type
'double-float
27 :initial-contents
'(-0.03532739323390277
0.3442898999246285
28 0.0359799365153615 0.001264615411446926
32 1.0349695257633625e-11
33 4.2598161427910826e-14
34 1.3744654358807508e-16
35 3.5708965285083736e-19
39 2.7128142180729857e-30
40 3.0825938879146666e-33)))
43 :element-type
'double-float
44 :initial-contents
'(-0.07643947903327941
51 -
2.7427055499002012e-9
52 3.1694296580974997e-10
53 -
3.902353286962184e-11
55 -
6.889574741007871e-13
57 -
1.4273328418845485e-14
59 -
3.3496542551495625e-16
60 5.3352602169529114e-17
61 -
8.693669980890753e-18
62 1.4464043478622123e-18
63 -
2.4528898255001297e-19
64 4.2337545262321717e-20
65 -
7.427946526454465e-21
66 1.3231505293926669e-21
67 -
2.3905871647396495e-22
69 -
8.113700607345117e-24
71 -
2.886041941483398e-25
73 -
1.0703773292498988e-26
74 2.0910868931423843e-27
75 -
4.121713723646204e-28
77 -
1.6420002754592977e-29
78 3.3161432814802274e-30
79 -
6.746863644145296e-31
80 1.3824291463184248e-31
81 -
2.8518741673598326e-32)))
84 :element-type
'double-float
85 :initial-contents
'(-0.012018698263075922
91 4.6111825761797177e-10
92 -
3.158592997860566e-11
94 -
2.0743313873983479e-13
96 -
1.927554805838956e-15
97 2.0621980291978182e-16
98 -
2.3416851175792425e-17
99 2.8059028106430423e-18
100 -
3.530507631161808e-19
101 4.645295422935108e-20
102 -
6.368625941344267e-21
103 9.069521310986516e-22
104 -
1.3379747854236907e-22
105 2.0398360218599522e-23
106 -
3.2070274813678404e-24
108 -
8.629501497540573e-26
110 -
2.5730690238670112e-27
111 4.601774086643516e-28
112 -
8.411555324201094e-29
113 1.569806306635369e-29
114 -
2.988226453005758e-30
115 5.7968313752168365e-31
116 -
1.1450359943476814e-31
117 2.3012665942496828e-32)))
119 (declare (type (f2cl-lib:integer4
) ntk0 ntak0 ntak02
)
120 (type (double-float) xsml
)
121 (type (simple-array double-float
(16)) bk0cs
)
122 (type (simple-array double-float
(38)) ak0cs
)
123 (type (simple-array double-float
(33)) ak02cs
)
124 (type f2cl-lib
:logical first$
))
125 (setq first$ f2cl-lib
:%true%
)
127 (declare (type (double-float) x
))
128 (prog ((y 0.0) (dbsk0e 0.0) (eta 0.0f0
))
129 (declare (type (single-float) eta
) (type (double-float) dbsk0e y
))
132 (setf eta
(* 0.1f0
(f2cl-lib:freal
(f2cl-lib:d1mach
3))))
133 (setf ntk0
(initds bk0cs
16 eta
))
134 (setf ntak0
(initds ak0cs
38 eta
))
135 (setf ntak02
(initds ak02cs
33 eta
))
136 (setf xsml
(f2cl-lib:fsqrt
(* 4.0 (f2cl-lib:d1mach
3))))))
137 (setf first$ f2cl-lib
:%false%
)
138 (if (<= x
0.0) (xermsg "SLATEC" "DBSK0E" "X IS ZERO OR NEGATIVE" 2 2))
139 (if (> x
2.0) (go label20
))
141 (if (> x xsml
) (setf y
(* x x
)))
144 (+ (- (* (- (f2cl-lib:flog
(* 0.5 x
))) (dbesi0 x
)) 0.25)
145 (dcsevl (- (* 0.5 y
) 1.0) bk0cs ntk0
))))
150 (/ (+ 1.25 (dcsevl (/ (- (/ 16.0 x
) 5.0) 3.0) ak0cs ntak0
))
151 (f2cl-lib:fsqrt x
))))
154 (/ (+ 1.25 (dcsevl (- (/ 16.0 x
) 1.0) ak02cs ntak02
))
155 (f2cl-lib:fsqrt x
))))
158 (return (values dbsk0e nil
)))))
160 (in-package #:cl-user
)
161 #+#.
(cl:if
(cl:find-package
'#:f2cl
) '(and) '(or))
162 (eval-when (:load-toplevel
:compile-toplevel
:execute
)
163 (setf (gethash 'fortran-to-lisp
::dbsk0e
164 fortran-to-lisp
::*f2cl-function-info
*)
165 (fortran-to-lisp::make-f2cl-finfo
:arg-types
'((double-float))
166 :return-values
'(nil)
167 :calls
'(fortran-to-lisp::dcsevl
168 fortran-to-lisp
::dbesi0
169 fortran-to-lisp
::xermsg
170 fortran-to-lisp
::initds
171 fortran-to-lisp
::d1mach
))))