[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: Steele%Tartan@CMU-CS-C.ARPA
- Subject: single-float-epsilon
- From: "David A. Moon" <Moon%SCRC-TENEX@MIT-MC.ARPA>
- Date: Wed, 28 Dec 83 00:48 EST
- Cc: Common-Lisp@SU-AI.ARPA
This message supersedes previous copies; please forgive the duplication.
Sorry I didn't notice this before, but I'm not sure that the definition
of single-float-epsilon given in the manual is really what you intended.
Specifically, on most machines (those that do rounding to nearest) this
number is -not- a power of 2, rather it is one unit in the least significant
place more than a power of 2. I would think that most applications of
this would prefer to have a power of 2.
Is it possible that the definition you wanted was "the largest positive
floating-point number e such that the expression
(= (float 1 e) (+ (float 1 e) e))
is false when actually evaluated."?
In the meantime I've fixed our implementation to conform to the manual
instead of having a value that was off by a factor of a hair less than 2
(the person computing the value clearly must have assumed that it was
meant to be a power of 2 and didn't consider other numbers).