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))
21 (declare (type (f2cl-lib:integer4
) n
) (type (double-float) y x
))
23 (declare (type (double-float) absx
))
24 (setf absx
(f2cl-lib:dabs x
))
27 (if (= x
0.0) (go end_label
))
29 (if (>= absx
0.5) (go label20
))
30 (setf n
(f2cl-lib:int-sub n
1))
31 (setf absx
(* absx
2.0))
34 (if (< absx
1.0) (go label30
))
35 (setf n
(f2cl-lib:int-add n
1))
36 (setf absx
(* absx
0.5))
39 (setf y
(coerce (f2cl-lib:dsign absx x
) 'double-float
))
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
)