Don't use fname to define functions
[maxima.git] / src / numerical / slatec / zabs.lisp
blob1978e725186f8846bfc54c7700cbc7ce0dd13105
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 zabs (zr zi)
21 (declare (type (double-float) zi zr))
22 (prog ((u 0.0) (v 0.0) (q 0.0) (s 0.0) (zabs 0.0))
23 (declare (type (double-float) zabs s q v u))
24 (setf u (abs zr))
25 (setf v (abs zi))
26 (setf s (+ u v))
27 (setf s (* s 1.0))
28 (if (= s 0.0) (go label20))
29 (if (> u v) (go label10))
30 (setf q (/ u v))
31 (setf zabs (* v (f2cl-lib:fsqrt (+ 1.0 (* q q)))))
32 (go end_label)
33 label10
34 (setf q (/ v u))
35 (setf zabs (* u (f2cl-lib:fsqrt (+ 1.0 (* q q)))))
36 (go end_label)
37 label20
38 (setf zabs 0.0)
39 (go end_label)
40 end_label
41 (return (values zabs nil nil))))
43 (in-package #:cl-user)
44 #+#.(cl:if (cl:find-package '#:f2cl) '(and) '(or))
45 (eval-when (:load-toplevel :compile-toplevel :execute)
46 (setf (gethash 'fortran-to-lisp::zabs fortran-to-lisp::*f2cl-function-info*)
47 (fortran-to-lisp::make-f2cl-finfo
48 :arg-types '((double-float) (double-float))
49 :return-values '(nil nil)
50 :calls 'nil)))