home *** CD-ROM | disk | FTP | other *** search
- ;;; Compiled by f2cl version 2.0 beta 2002-05-06
- ;;;
- ;;; Options: ((:prune-labels nil) (:auto-save t) (:relaxed-array-decls t)
- ;;; (:coerce-assigns :as-needed) (:array-type ':simple-array)
- ;;; (:array-slicing nil) (:declare-common nil)
- ;;; (:float-format double-float))
-
- (in-package "SLATEC")
-
-
- (let ((gln (make-array 100 :element-type 'double-float))
- (cf (make-array 22 :element-type 'double-float))
- (con 1.8378770664093456))
- (declare (type double-float con)
- (type (simple-array double-float (22)) cf)
- (type (simple-array double-float (100)) gln))
- (f2cl-lib:fset (f2cl-lib:fref gln (1) ((1 100))) 0.0)
- (f2cl-lib:fset (f2cl-lib:fref gln (2) ((1 100))) 0.0)
- (f2cl-lib:fset (f2cl-lib:fref gln (3) ((1 100))) 0.6931471805599454)
- (f2cl-lib:fset (f2cl-lib:fref gln (4) ((1 100))) 1.791759469228055)
- (f2cl-lib:fset (f2cl-lib:fref gln (5) ((1 100))) 3.1780538303479458)
- (f2cl-lib:fset (f2cl-lib:fref gln (6) ((1 100))) 4.787491742782046)
- (f2cl-lib:fset (f2cl-lib:fref gln (7) ((1 100))) 6.579251212010101)
- (f2cl-lib:fset (f2cl-lib:fref gln (8) ((1 100))) 8.525161361065415)
- (f2cl-lib:fset (f2cl-lib:fref gln (9) ((1 100))) 10.60460290274525)
- (f2cl-lib:fset (f2cl-lib:fref gln (10) ((1 100))) 12.801827480081469)
- (f2cl-lib:fset (f2cl-lib:fref gln (11) ((1 100))) 15.104412573075516)
- (f2cl-lib:fset (f2cl-lib:fref gln (12) ((1 100))) 17.502307845873887)
- (f2cl-lib:fset (f2cl-lib:fref gln (13) ((1 100))) 19.98721449566189)
- (f2cl-lib:fset (f2cl-lib:fref gln (14) ((1 100))) 22.552163853123425)
- (f2cl-lib:fset (f2cl-lib:fref gln (15) ((1 100))) 25.191221182738683)
- (f2cl-lib:fset (f2cl-lib:fref gln (16) ((1 100))) 27.89927138384089)
- (f2cl-lib:fset (f2cl-lib:fref gln (17) ((1 100))) 30.671860106080672)
- (f2cl-lib:fset (f2cl-lib:fref gln (18) ((1 100))) 33.50507345013689)
- (f2cl-lib:fset (f2cl-lib:fref gln (19) ((1 100))) 36.39544520803305)
- (f2cl-lib:fset (f2cl-lib:fref gln (20) ((1 100))) 39.339884187199495)
- (f2cl-lib:fset (f2cl-lib:fref gln (21) ((1 100))) 42.335616460753485)
- (f2cl-lib:fset (f2cl-lib:fref gln (22) ((1 100))) 45.38013889847691)
- (f2cl-lib:fset (f2cl-lib:fref gln (23) ((1 100))) 48.47118135183522)
- (f2cl-lib:fset (f2cl-lib:fref gln (24) ((1 100))) 51.60667556776438)
- (f2cl-lib:fset (f2cl-lib:fref gln (25) ((1 100))) 54.78472939811232)
- (f2cl-lib:fset (f2cl-lib:fref gln (26) ((1 100))) 58.003605222980525)
- (f2cl-lib:fset (f2cl-lib:fref gln (27) ((1 100))) 61.261701761002)
- (f2cl-lib:fset (f2cl-lib:fref gln (28) ((1 100))) 64.55753862700634)
- (f2cl-lib:fset (f2cl-lib:fref gln (29) ((1 100))) 67.88974313718154)
- (f2cl-lib:fset (f2cl-lib:fref gln (30) ((1 100))) 71.25703896716801)
- (f2cl-lib:fset (f2cl-lib:fref gln (31) ((1 100))) 74.65823634883017)
- (f2cl-lib:fset (f2cl-lib:fref gln (32) ((1 100))) 78.0922235533153)
- (f2cl-lib:fset (f2cl-lib:fref gln (33) ((1 100))) 81.55795945611503)
- (f2cl-lib:fset (f2cl-lib:fref gln (34) ((1 100))) 85.05446701758152)
- (f2cl-lib:fset (f2cl-lib:fref gln (35) ((1 100))) 88.58082754219767)
- (f2cl-lib:fset (f2cl-lib:fref gln (36) ((1 100))) 92.1361756036871)
- (f2cl-lib:fset (f2cl-lib:fref gln (37) ((1 100))) 95.7196945421432)
- (f2cl-lib:fset (f2cl-lib:fref gln (38) ((1 100))) 99.33061245478743)
- (f2cl-lib:fset (f2cl-lib:fref gln (39) ((1 100))) 102.96819861451381)
- (f2cl-lib:fset (f2cl-lib:fref gln (40) ((1 100))) 106.63176026064345)
- (f2cl-lib:fset (f2cl-lib:fref gln (41) ((1 100))) 110.32063971475739)
- (f2cl-lib:fset (f2cl-lib:fref gln (42) ((1 100))) 114.03421178146172)
- (f2cl-lib:fset (f2cl-lib:fref gln (43) ((1 100))) 117.77188139974508)
- (f2cl-lib:fset (f2cl-lib:fref gln (44) ((1 100))) 121.53308151543862)
- (f2cl-lib:fset (f2cl-lib:fref gln (45) ((1 100))) 125.31727114935688)
- (f2cl-lib:fset (f2cl-lib:fref gln (46) ((1 100))) 129.12393363912722)
- (f2cl-lib:fset (f2cl-lib:fref gln (47) ((1 100))) 132.9525750356163)
- (f2cl-lib:fset (f2cl-lib:fref gln (48) ((1 100))) 136.80272263732635)
- (f2cl-lib:fset (f2cl-lib:fref gln (49) ((1 100))) 140.67392364823425)
- (f2cl-lib:fset (f2cl-lib:fref gln (50) ((1 100))) 144.5657439463449)
- (f2cl-lib:fset (f2cl-lib:fref gln (51) ((1 100))) 148.47776695177305)
- (f2cl-lib:fset (f2cl-lib:fref gln (52) ((1 100))) 152.40959258449735)
- (f2cl-lib:fset (f2cl-lib:fref gln (53) ((1 100))) 156.36083630307877)
- (f2cl-lib:fset (f2cl-lib:fref gln (54) ((1 100))) 160.3311282166309)
- (f2cl-lib:fset (f2cl-lib:fref gln (55) ((1 100))) 164.32011226319517)
- (f2cl-lib:fset (f2cl-lib:fref gln (56) ((1 100))) 168.32744544842765)
- (f2cl-lib:fset (f2cl-lib:fref gln (57) ((1 100))) 172.35279713916282)
- (f2cl-lib:fset (f2cl-lib:fref gln (58) ((1 100))) 176.39584840699735)
- (f2cl-lib:fset (f2cl-lib:fref gln (59) ((1 100))) 180.45629141754378)
- (f2cl-lib:fset (f2cl-lib:fref gln (60) ((1 100))) 184.53382886144948)
- (f2cl-lib:fset (f2cl-lib:fref gln (61) ((1 100))) 188.6281734236716)
- (f2cl-lib:fset (f2cl-lib:fref gln (62) ((1 100))) 192.7390472878449)
- (f2cl-lib:fset (f2cl-lib:fref gln (63) ((1 100))) 196.86618167288998)
- (f2cl-lib:fset (f2cl-lib:fref gln (64) ((1 100))) 201.00931639928152)
- (f2cl-lib:fset (f2cl-lib:fref gln (65) ((1 100))) 205.16819948264117)
- (f2cl-lib:fset (f2cl-lib:fref gln (66) ((1 100))) 209.34258675253682)
- (f2cl-lib:fset (f2cl-lib:fref gln (67) ((1 100))) 213.53224149456324)
- (f2cl-lib:fset (f2cl-lib:fref gln (68) ((1 100))) 217.7369341139542)
- (f2cl-lib:fset (f2cl-lib:fref gln (69) ((1 100))) 221.95644181913033)
- (f2cl-lib:fset (f2cl-lib:fref gln (70) ((1 100))) 226.1905483237276)
- (f2cl-lib:fset (f2cl-lib:fref gln (71) ((1 100))) 230.43904356577696)
- (f2cl-lib:fset (f2cl-lib:fref gln (72) ((1 100))) 234.70172344281826)
- (f2cl-lib:fset (f2cl-lib:fref gln (73) ((1 100))) 238.9783895618343)
- (f2cl-lib:fset (f2cl-lib:fref gln (74) ((1 100))) 243.2688490029827)
- (f2cl-lib:fset (f2cl-lib:fref gln (75) ((1 100))) 247.57291409618688)
- (f2cl-lib:fset (f2cl-lib:fref gln (76) ((1 100))) 251.89040220972322)
- (f2cl-lib:fset (f2cl-lib:fref gln (77) ((1 100))) 256.22113555000954)
- (f2cl-lib:fset (f2cl-lib:fref gln (78) ((1 100))) 260.5649409718632)
- (f2cl-lib:fset (f2cl-lib:fref gln (79) ((1 100))) 264.9216497985528)
- (f2cl-lib:fset (f2cl-lib:fref gln (80) ((1 100))) 269.29109765101987)
- (f2cl-lib:fset (f2cl-lib:fref gln (81) ((1 100))) 273.6731242856937)
- (f2cl-lib:fset (f2cl-lib:fref gln (82) ((1 100))) 278.0675734403661)
- (f2cl-lib:fset (f2cl-lib:fref gln (83) ((1 100))) 282.4742926876304)
- (f2cl-lib:fset (f2cl-lib:fref gln (84) ((1 100))) 286.893133295427)
- (f2cl-lib:fset (f2cl-lib:fref gln (85) ((1 100))) 291.32395009427034)
- (f2cl-lib:fset (f2cl-lib:fref gln (86) ((1 100))) 295.76660135076065)
- (f2cl-lib:fset (f2cl-lib:fref gln (87) ((1 100))) 300.2209486470141)
- (f2cl-lib:fset (f2cl-lib:fref gln (88) ((1 100))) 304.6868567656687)
- (f2cl-lib:fset (f2cl-lib:fref gln (89) ((1 100))) 309.16419358014696)
- (f2cl-lib:fset (f2cl-lib:fref gln (90) ((1 100))) 313.65282994987905)
- (f2cl-lib:fset (f2cl-lib:fref gln (91) ((1 100))) 318.1526396202093)
- (f2cl-lib:fset (f2cl-lib:fref gln (92) ((1 100))) 322.6634991267262)
- (f2cl-lib:fset (f2cl-lib:fref gln (93) ((1 100))) 327.1852877037752)
- (f2cl-lib:fset (f2cl-lib:fref gln (94) ((1 100))) 331.7178871969285)
- (f2cl-lib:fset (f2cl-lib:fref gln (95) ((1 100))) 336.26118197919845)
- (f2cl-lib:fset (f2cl-lib:fref gln (96) ((1 100))) 340.815058870799)
- (f2cl-lib:fset (f2cl-lib:fref gln (97) ((1 100))) 345.37940706226686)
- (f2cl-lib:fset (f2cl-lib:fref gln (98) ((1 100))) 349.95411804077025)
- (f2cl-lib:fset (f2cl-lib:fref gln (99) ((1 100))) 354.5390855194408)
- (f2cl-lib:fset (f2cl-lib:fref gln (100) ((1 100))) 359.1342053695754)
- (f2cl-lib:fset (f2cl-lib:fref cf (1) ((1 22))) 0.08333333333333334)
- (f2cl-lib:fset (f2cl-lib:fref cf (2) ((1 22))) -0.002777777777777778)
- (f2cl-lib:fset (f2cl-lib:fref cf (3) ((1 22))) 7.936507936507938e-4)
- (f2cl-lib:fset (f2cl-lib:fref cf (4) ((1 22))) -5.952380952380953e-4)
- (f2cl-lib:fset (f2cl-lib:fref cf (5) ((1 22))) 8.417508417508417e-4)
- (f2cl-lib:fset (f2cl-lib:fref cf (6) ((1 22))) -0.0019175269175269176)
- (f2cl-lib:fset (f2cl-lib:fref cf (7) ((1 22))) 0.006410256410256411)
- (f2cl-lib:fset (f2cl-lib:fref cf (8) ((1 22))) -0.029550653594771242)
- (f2cl-lib:fset (f2cl-lib:fref cf (9) ((1 22))) 0.17964437236883057)
- (f2cl-lib:fset (f2cl-lib:fref cf (10) ((1 22))) -1.3924322169059011)
- (f2cl-lib:fset (f2cl-lib:fref cf (11) ((1 22))) 13.402864044168393)
- (f2cl-lib:fset (f2cl-lib:fref cf (12) ((1 22))) -156.84828462600203)
- (f2cl-lib:fset (f2cl-lib:fref cf (13) ((1 22))) 2193.103333333333)
- (f2cl-lib:fset (f2cl-lib:fref cf (14) ((1 22))) -36108.77125372499)
- (f2cl-lib:fset (f2cl-lib:fref cf (15) ((1 22))) 691472.268851313)
- (f2cl-lib:fset (f2cl-lib:fref cf (16) ((1 22))) -1.5238221539407418e+7)
- (f2cl-lib:fset (f2cl-lib:fref cf (17) ((1 22))) 3.829007513914141e+8)
- (f2cl-lib:fset (f2cl-lib:fref cf (18) ((1 22))) -1.0882266035784391e+10)
- (f2cl-lib:fset (f2cl-lib:fref cf (19) ((1 22))) 3.473202837650023e+11)
- (f2cl-lib:fset (f2cl-lib:fref cf (20) ((1 22))) -1.2369602142269272e+13)
- (f2cl-lib:fset (f2cl-lib:fref cf (21) ((1 22))) 4.887880647930794e+14)
- (f2cl-lib:fset (f2cl-lib:fref cf (22) ((1 22))) -2.1320333960919371e+16)
- (defun dgamln (z ierr)
- (declare (type f2cl-lib:integer4 ierr) (type double-float z))
- (prog ((i 0) (i1m 0) (k 0) (mz 0) (nz 0) (fln 0.0) (fz 0.0) (rln 0.0)
- (s 0.0) (tlg 0.0) (trm 0.0) (tst 0.0) (t1 0.0) (wdtol 0.0)
- (zdmy 0.0) (zinc 0.0) (zm 0.0) (zmin 0.0) (zp 0.0) (zsq 0.0)
- (dgamln 0.0))
- (declare
- (type double-float dgamln zsq zp zmin zm zinc zdmy wdtol t1 tst trm tlg
- s rln fz fln)
- (type f2cl-lib:integer4 nz mz k i1m i))
- (setf ierr 0)
- (if (<= z 0.0) (go label70))
- (if (> z 101.0) (go label10))
- (setf nz (f2cl-lib:int z))
- (setf fz (- z nz))
- (if (> fz 0.0) (go label10))
- (if (> nz 100) (go label10))
- (setf dgamln (f2cl-lib:fref gln (nz) ((1 100))))
- (go end_label)
- label10
- (setf wdtol (f2cl-lib:d1mach 4))
- (setf wdtol (max wdtol 5.0e-19))
- (setf i1m (f2cl-lib:i1mach 14))
- (setf rln (* (f2cl-lib:d1mach 5) i1m))
- (setf fln (min rln 20.0))
- (setf fln (max fln 3.0))
- (setf fln (- fln 3.0))
- (setf zm (+ 1.8 (* 0.3875 fln)))
- (setf mz (f2cl-lib:int (+ zm 1)))
- (setf zmin (coerce (the f2cl-lib:integer4 mz) 'double-float))
- (setf zdmy z)
- (setf zinc 0.0)
- (if (>= z zmin) (go label20))
- (setf zinc (- zmin nz))
- (setf zdmy (+ z zinc))
- label20
- (setf zp (/ 1.0 zdmy))
- (setf t1 (* (f2cl-lib:fref cf (1) ((1 22))) zp))
- (setf s t1)
- (if (< zp wdtol) (go label40))
- (setf zsq (* zp zp))
- (setf tst (* t1 wdtol))
- (f2cl-lib:fdo (k 2 (f2cl-lib:int-add k 1))
- ((> k 22) nil)
- (tagbody
- (setf zp (* zp zsq))
- (setf trm (* (f2cl-lib:fref cf (k) ((1 22))) zp))
- (if (< (abs trm) tst) (go label40))
- (setf s (+ s trm))
- label30))
- label40
- (if (/= zinc 0.0) (go label50))
- (setf tlg (f2cl-lib:flog z))
- (setf dgamln (+ (* z (- tlg 1.0)) (* 0.5 (- con tlg)) s))
- (go end_label)
- label50
- (setf zp 1.0)
- (setf nz (f2cl-lib:int zinc))
- (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
- ((> i nz) nil)
- (tagbody (setf zp (* zp (+ z (f2cl-lib:int-sub i 1)))) label60))
- (setf tlg (f2cl-lib:flog zdmy))
- (setf dgamln
- (+ (- (* zdmy (- tlg 1.0)) (f2cl-lib:flog zp))
- (* 0.5 (- con tlg))
- s))
- (go end_label)
- label70
- (setf dgamln (f2cl-lib:d1mach 2))
- (setf ierr 1)
- (go end_label)
- end_label
- (return (values dgamln nil ierr)))))
-
-