Changeset 14355
- Timestamp:
- 01/16/13 10:45:54 (11 years ago)
- Location:
- trunk/abcl
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/loop.lisp
r11391 r14355 987 987 (defun loop-typed-init (data-type &optional step-var-p) 988 988 (when (and data-type (subtypep data-type 'number)) 989 (if (or (subtypep data-type 'float) 990 (subtypep data-type '(complex float))) 991 (coerce (if step-var-p 1 0) data-type) 992 (if step-var-p 1 0)))) 989 ;; From SBCL 990 (let ((init (if step-var-p 1 0))) 991 (flet ((like (&rest types) 992 (coerce init (find-if (lambda (type) 993 (subtypep data-type type)) 994 types)))) 995 (cond ((subtypep data-type 'float) 996 (like 'single-float 'double-float 997 'short-float 'long-float 'float)) 998 ((subtypep data-type '(complex float)) 999 (like '(complex single-float) 1000 '(complex double-float) 1001 '(complex short-float) 1002 '(complex long-float) 1003 '(complex float))) 1004 (t 1005 init)))))) 993 1006 994 1007 (defun loop-optional-type (&optional variable) -
trunk/abcl/test/lisp/abcl/bugs.lisp
r14248 r14355 126 126 (probe-file (make-pathname :device (list "foo"))) 127 127 nil) 128 129 ;; http://trac.common-lisp.net/armedbear/ticket/293 130 (deftest bugs.loop.1 131 (loop :with x :of-type (float 0) = 0.0 132 :for y :upto 1 133 :collecting (cons x y)) 134 ((0.0 . 0) (0.0 . 1))) 135
Note: See TracChangeset
for help on using the changeset viewer.