[Ecls-list] Error: Cannot print object #<single-float quiet NaN> readably.

Waldek Hebisch hebisch at math.uni.wroc.pl
Mon Dec 19 18:00:03 UTC 2011


Put the the following line in a file:

(DEFUN |nangenericcomplex| () (PROG () (RETURN (/ 1.0 (COMPLEX 0.0)))))

And then try to compile-file it:

> (compile-file "sfsfun.clisp")

;;; Loading #P"/var/tmp/hebisch/usr/lib/ecl-11.1.1/cmp.fas"
;;;
;;; Compiling sfsfun.clisp.
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0
;;;
;;; Compiling (DEFUN |nangenericcomplex| ...).
;;; End of Pass 1.
;;; Emitting code for |nangenericcomplex|.
;;; Internal error:
;;;   ** Cannot print object #<single-float quiet NaN> readably.
NIL
NIL
NIL

FriCAS uses such a function to raise floating point errors
when appropriate.  In principle I could divide by "runtime"
zero (I have one at hand as just before call to |nangenericcomplex|
I have test which checks that number to be used as divisor is zero).
But having separate function seems clearer.  And some day compiler
may be smart enough to realize that "runtime" zero is a zero and
try to constant fold it...

-- 
                              Waldek Hebisch
hebisch at math.uni.wroc.pl 




More information about the ecl-devel mailing list