From: Paul Khuong <pvk@pv...>  20111022 17:09:21

In article <87mxcujbws.fsf@...>, Eric Marsden <eric.marsden@...> wrote: > Hi, > > , >  * (lispimplementationversion) >  "1.0.52.157cee246" >  * (sqrt 4.9406564584124654d320) >  debugger invoked on a TYPEERROR in thread #<THREAD>: >  The value 1061 is not of type (INTEGER 1074 1024). >  0: [ABORT] Exit debugger, returning to top level. >  (SBKERNEL::CSSQS #<unavailable argument>) > ` > > Running on Linux/AMD64. >From CSSQS ;; If we're here, neither x nor y are infinity and at ;; least one is nonzero.. Thus logb returns a nice ;; integer. (let ((k ( (logbfinite (max (abs x) (abs y)))))) (values (+ (square (scalb x k)) (square (scalb y k))) ( k)))) SCALB doesn't like denorms. Not sure what to do about this; I suppose we could clamp the scale factor? Paul Khuong 