In Visual C, a  "long double" and a "double" are the same, and only
offer 53 bits of precision.
On GCC, a "long double" has 80 bits of precision.
Unfortunately, I don't think there's a way to have Visual C use more precision.
Because of this, round off error will always differ between the two
compilers when using
the "long double" type.

-Shane

On Mon, Nov 29, 2010 at 10:06 PM, Rick Regan <exploringbin...@gmail.com> wrote:
> On Mon, Nov 29, 2010 at 3:04 PM, Rick Regan <exploringbin...@gmail.com>wrote:
>
>
>> So the question remains -- why does the Windows build get it wrong?
>>
>
>
> I think I figured it out. It is due to the use of extended precision. In
> sqlite3.c, if you change "#define LONGDOUBLE_TYPE long double" to "#define
> LONGDOUBLE_TYPE double" and set the FPU precision to 53 bits, you get the
> same wrong result as on Windows.
>
> Obviously, we don't want the same wrong result as on Windows -- so how do we
> fix Windows?
>
> What's the procedure for opening a bug report?
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to