puzzling/buggy floating point handling RMCL/MCL?

"E.J. Chichilnisky" <ej-xrR1t/[email protected]> Thu, 17 Sep 2009 11:01:00 -0700
Newsgroups gmane.lisp.mcl.general
Message-ID <[email protected]>
folks,

Can anybody make head or tail of this apparent bug in MCL/RMCL  
implementation of expt?

;; problem: dependence of expt on *read-default-float-format*
;; MCL -- causes inappropriate error when *read-default-float-format*  
should not matter
;; RMCL -- crashes the application


(setq *read-default-float-format* 'double-float)

;; appropriate error -- floating point overflow
(null (expt 2.0e7 2.0e7))
 > Error: FLOATING-POINT-OVERFLOW detected
 >        performing EXPT on (2.0D+7 2.0D+7)

;; no error
(null (expt 2.0e7 6.0))



(setq *read-default-float-format* 'short-float)

;; appropriate error -- floating point overflow
(null (expt 2.0e7 2.0e7))
 > Error: FLOATING-POINT-OVERFLOW detected
 >        performing EXPT on (2.0D+7 2.0D+7)

;; inappropriate error in MCL, crashes RMCL
;; nobody asked for type coercion to short-float!!!!
(null (expt 2.0e7 6.0))
 > Error: Can't coerce 6.4D+43 to SHORT-FLOAT
 > While executing: CCL::%DOUBLE-FLOAT->SHORT-FLOAT

_______________________________________________
info-mcl mailing list
[email protected]
http://clozure.com/mailman/listinfo/info-mcl