On Tuesday, September 04, 2007 John Machin wrote: 

> On 5/09/2007 6:18 AM, John Stanton wrote:
>> These are regular floating point numbers, and behave accordingly.

> Utter nonsense. round(98926650.5, 1) -> 98926650.5000001 is a BUG.

I agree with you that there is a bug here somewhere. But it is not in
the round function, regardless of the merits of its implementation...

C:\pvm3>sqlite3
SQLite version 3.4.2
Enter ".help" for instructions
sqlite> select 98926650.5 * 1.0;
98926650.5000001

I suspect the bug is in the functions that convert between string and
double; that's why I keep harping on Steele and White's (and
Clinger's) PLDI 1990 papers. What I don't know is why this bug appears
in the binary from sqlite.org but not in the version I build myself
with gcc 3.4.5 from SQLite version 3.4.2 source.

e

-- 
Doug Currie
Londonderry, NH, USA


-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to