Sorry for the delay....
On Tue, Jan 29, 2019 at 11:08 PM Daniel Kochmański daniel@turtleware.eu wrote:
Hey,
With ecl 16.1.3, I noticed that least-positive-double-float and least-positive-normalized-double-float are exactly equal. This is allowed, but ecl can work with denormals since (/ least-positive-normalized-double-float 10) is printed correctly.
The reason they are the same is because portable C gives us DBL_MIN at our disposal (and its counterparts for other floats).
Seems reasonable for portability.
Maybe these two values should be different?
Maybe we could hardcode other value when ieee-floating-point is in featuers (fwiw it is an optional build flag). I'm not sure what would be the right thing here.
I don't know either, but it is a bit weird if you can create and print values that are less than least-positive-double-float. :-)
Or maybe ecl really meant to turn on flush-to-zero so that no denormals can occur?
ECL signals a floating-point-overflow/underflow conditions unless disabled by an internal function si:trap-fpe.
You trap on underflow by default? That seems unusual and kind of annoying.
Regards, Daniel