+ ((and (typep object 'rational)
+ (csubtypep type (specifier-type '(complex float))))
+ ;; Perhaps somewhat surprisingly, ANSI specifies
+ ;; that (COERCE FOO 'FLOAT) is a SINGLE-FLOAT, not
+ ;; dispatching on *READ-DEFAULT-FLOAT-FORMAT*. By
+ ;; analogy, we do the same for complex numbers. --
+ ;; CSR, 2002-08-06
+ (complex (%single-float object)))