Subject: [clisp-list] IEEE subnormals?

From: Russell Senior <[email-masked]>
Date: 01 Jul 2000 01:30:13 -0700

I notice that CLISP doesn't support IEEE 754 subnormal or denormalized
floats.  For example:

  > (eq least-positive-single-float least-positive-normalized-single-float)
  T

and:

  > (scale-float (float 1 1f0) -127)

  *** - floating point underflow

whereas, CMUCL and ACL-5.0 gives:

  * (scale-float (float 1 1f0) -127)

  5.8774716e-39

This is discussed in _impnotes.html a little bit.  How difficult would
these be to add to CLISP?

-- 
Russell Senior         ``The two chiefs turned to each other.        
[email-masked]      Bellison uncorked a flood of horrible       
                         profanity, which, translated meant, `This is
                         extremely unusual.' ''

---

From: Bruno Haible <[email-masked]>
Date: Mon, 3 Jul 2000 15:44:58 +0200 (CEST)

Russell Senior writes:

> floats. ...  How difficult would these be to add to CLISP?

Why would you want this in CLISP? When the exponent range is not
sufficient for an application, use the next higher floating point
format; it has a wider exponent range.

Bruno

---

From: Russell Senior <[email-masked]>
Date: 03 Jul 2000 10:21:48 -0700

>>>>> "Bruno" == Bruno Haible <[email-masked]> writes:

Russell> I notice that CLISP doesn't support IEEE 754 subnormal or
Russell> denormalized floats. ...  How difficult would these be to add
Russell> to CLISP?

Bruno> Why would you want this in CLISP? When the exponent range is
Bruno> not sufficient for an application, use the next higher floating
Bruno> point format; it has a wider exponent range.

Suppose you are handed an IEEE binary float representation, by
LISP:READ-FLOAT, or mayby through a foreign function interface.  Or
are constrained on output through LISP:WRITE-FLOAT to a fixed float
representation.