Mon Jan 25 19:46:41 CET 2010 Tobias Rautenkranz * single-float conversion diff -rN -u old-smoke/src/overload-resolution.lisp new-smoke/src/overload-resolution.lisp --- old-smoke/src/overload-resolution.lisp 2014-09-27 09:17:49.000000000 +0200 +++ new-smoke/src/overload-resolution.lisp 2014-09-27 09:17:49.000000000 +0200 @@ -363,6 +363,9 @@ (defun coerce-double-float (number) (float number 0d0)) +(defun coerce-single-float (number) + (float number 0f0)) + ;; FIXME incomplete (defun+using-type promotion object (object type) (declare (smoke-type type)) @@ -374,6 +377,8 @@ (make-match 'promotion 'coerce-enum))) (7 (when (object.typep 'enum) (make-match 'promotion 'coerce-enum))) + (10 (when (object.typep 'real) + (make-match 'promotion 'coerce-single-float))) (11 (when (object.typep 'real) (make-match 'promotion 'coerce-double-float)))))