Promption real to double-float
Thu Jul 2 23:51:50 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Promption real to double-float
diff -rN -u old-smoke/src/overload-resolution.lisp new-smoke/src/overload-resolution.lisp
--- old-smoke/src/overload-resolution.lisp 2014-10-30 07:06:05.000000000 +0100
+++ new-smoke/src/overload-resolution.lisp 2014-10-30 07:06:05.000000000 +0100
@@ -419,6 +419,10 @@
(defun coerce-enum (enum)
(cxx-support:value enum))
+(defun coerce-double-float (number)
+ (float number 0d0))
+
+;; FIXME incomplete
(defun+using-type promotion object (object type)
(declare (smoke-type type))
(case (type-id type)
@@ -428,7 +432,9 @@
(6 (when (object.typep 'enum)
(make-match 'promotion 'coerce-enum)))
(7 (when (object.typep 'enum)
- (make-match 'promotion 'coerce-enum)))))
+ (make-match 'promotion 'coerce-enum)))
+ (11 (when (object.typep 'real)
+ (make-match 'promotion 'coerce-double-float)))))
(declaim (inline coerce-to-class))
(defun coerce-cast (object to-class)