Don't use fname to define functions
[maxima.git] / src / numerical / slatec / d9upak.lisp
blob61f312da18faa99085b521c4cda4ea09de30ac2e
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)
11 ;;;
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))
17 (in-package :slatec)
20 (defun d9upak (x y n)
21 (declare (type (f2cl-lib:integer4) n) (type (double-float) y x))
22 (prog ((absx 0.0))
23 (declare (type (double-float) absx))
24 (setf absx (f2cl-lib:dabs x))
25 (setf n 0)
26 (setf y 0.0)
27 (if (= x 0.0) (go end_label))
28 label10
29 (if (>= absx 0.5) (go label20))
30 (setf n (f2cl-lib:int-sub n 1))
31 (setf absx (* absx 2.0))
32 (go label10)
33 label20
34 (if (< absx 1.0) (go label30))
35 (setf n (f2cl-lib:int-add n 1))
36 (setf absx (* absx 0.5))
37 (go label20)
38 label30
39 (setf y (coerce (f2cl-lib:dsign absx x) 'double-float))
40 (go end_label)
41 end_label
42 (return (values nil y n))))
44 (in-package #:cl-user)
45 #+#.(cl:if (cl:find-package '#:f2cl) '(and) '(or))
46 (eval-when (:load-toplevel :compile-toplevel :execute)
47 (setf (gethash 'fortran-to-lisp::d9upak
48 fortran-to-lisp::*f2cl-function-info*)
49 (fortran-to-lisp::make-f2cl-finfo
50 :arg-types '((double-float) (double-float)
51 (fortran-to-lisp::integer4))
52 :return-values '(nil fortran-to-lisp::y fortran-to-lisp::n)
53 :calls 'nil)))