Hello. This is new test that illustrates the problem:

--------------------------------------------------------------------

#!/usr/local/bin/tclsh8.5

package require platform
puts "\nplatform: [platform::generic]"
puts "sqlite version: [package require sqlite3]"
sqlite db test.db

set xf [format %.32e 4.40035364203127786031058909193863e+118]
set x  [expr {1*$xf}]

puts [format "\nxf = %.32e\nx  = %.15e"   $xf $x]
puts [format "\nxf = %.60e\nx  = %.60e\n" $xf $x]

puts [format "db eval \"SELECT \$xf=\\\$x\" : %s" [db eval "SELECT $xf=\$x"]]
puts [format "expr { \$xf == \$x }       : %s\n"  [expr { $xf == $x }]]

db close
file delete test.db

--------------------------------------------------------------------
FreeBSD 9.1-RELEASE #0 r243825: Tue Dec  4 09:23:10 UTC 2012
r...@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
tcl-8.5.13

platform: freebsd-amd64
sqlite version: 3.7.15.1

xf = 4.40035364203127786031058909193863e+118
x  = 4.400353642031278e+118

xf = 4.400353642031277860310589091938627241607447857305708019118800e+118
x  = 4.400353642031277860310589091938627241607447857305708019118800e+118

db eval "SELECT $xf=\$x" : 1
expr { $xf == $x }       : 1

--------------------------------------------------------------------
FreeBSD 9.1-RELEASE #0 r243825: Tue Dec  4 09:23:10 UTC 2012
r...@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
tcl-8.5.13

platform: freebsd-amd64
sqlite version: 3.7.14.1

xf = 4.40035364203127786031058909193863e+118
x  = 4.400353642031278e+118

xf = 4.400353642031277860310589091938627241607447857305708019118800e+118
x  = 4.400353642031277860310589091938627241607447857305708019118800e+118

db eval "SELECT $xf=\$x" : 1
expr { $xf == $x }       : 1

--------------------------------------------------------------------
FreeBSD 9.1-RELEASE #0 r243826: Tue Dec  4 06:55:39 UTC 2012
r...@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
tcl-8.5.13

platform: freebsd-ix86
sqlite version: 3.7.15.1

xf = 4.40035364203127786031058909193863e+118
x  = 4.400353642031278e+118

xf = 4.400353642031277860310589091938627241607447857305708019118800e+118
x  = 4.400353642031277860310589091938627241607447857305708019118800e+118

db eval "SELECT $xf=\$x" : 0 <--- this is wrong
expr { $xf == $x }       : 1

--------------------------------------------------------------------
FreeBSD 9.1-RELEASE #0 r243826: Tue Dec  4 06:55:39 UTC 2012
r...@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
tcl-8.5.13

platform: freebsd-ix86
sqlite version: 3.7.14.1

xf = 4.40035364203127786031058909193863e+118
x  = 4.400353642031278e+118

xf = 4.400353642031277860310589091938627241607447857305708019118800e+118
x  = 4.400353642031277860310589091938627241607447857305708019118800e+118

db eval "SELECT $xf=\$x" : 0 <--- this is wrong
expr { $xf == $x }       : 1

--------------------------------------------------------------------
FreeBSD 9.1-RELEASE #0 r243826: Tue Dec  4 06:55:39 UTC 2012
r...@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
tcl-8.6.0

platform: freebsd-ix86
sqlite version: 3.7.15.1

xf = 4.40035364203127786031058909193863e+118
x  = 4.400353642031278e+118

xf = 4.400353642031277860310589091938627241607447857305708019118800e+118
x  = 4.400353642031277860310589091938627241607447857305708019118800e+118

db eval "SELECT $xf=\$x" : 0 <--- this is wrong
expr { $xf == $x }       : 1

--------------------------------------------------------------------

On Sat, Jan 12, 2013 at 9:07 AM, Pavel Volkov <pavelivol...@gmail.com> wrote:
> Hello.
>
> On a 64 bit system, all the tests running are successful.
>
> log compilation
> https://docs.google.com/file/d/0Bz0ZXsXvwY_gc09EeWk1VEktRVk/edit
>
> log testing
> https://docs.google.com/file/d/0Bz0ZXsXvwY_geDlIRWlUSTZTMFE/edit
>
> My operating system:
> FreeBSD fb2.localhost 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #1
> r244644: Tue Dec 25 10:11:44 MSK 2012
> root@fb2.localhost:/usr/obj/usr/src/sys/ext  amd64
>
> and compiler:
> gcc (GCC) 4.2.1 20070831 patched [FreeBSD]
>
> and "cpp -dM" output:
>
> #define _LONGLONG 1
> #define _LP64 1
> #define __CHAR_BIT__ 8
> #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
> #define __DBL_DIG__ 15
> #define __DBL_EPSILON__ 2.2204460492503131e-16
> #define __DBL_HAS_DENORM__ 1
> #define __DBL_HAS_INFINITY__ 1
> #define __DBL_HAS_QUIET_NAN__ 1
> #define __DBL_MANT_DIG__ 53
> #define __DBL_MAX_10_EXP__ 308
> #define __DBL_MAX_EXP__ 1024
> #define __DBL_MAX__ 1.7976931348623157e+308
> #define __DBL_MIN_10_EXP__ (-307)
> #define __DBL_MIN_EXP__ (-1021)
> #define __DBL_MIN__ 2.2250738585072014e-308
> #define __DEC128_DEN__ 0.000000000000000000000000000000001E-6143DL
> #define __DEC128_EPSILON__ 1E-33DL
> #define __DEC128_MANT_DIG__ 34
> #define __DEC128_MAX_EXP__ 6144
> #define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
> #define __DEC128_MIN_EXP__ (-6143)
> #define __DEC128_MIN__ 1E-6143DL
> #define __DEC32_DEN__ 0.000001E-95DF
> #define __DEC32_EPSILON__ 1E-6DF
> #define __DEC32_MANT_DIG__ 7
> #define __DEC32_MAX_EXP__ 96
> #define __DEC32_MAX__ 9.999999E96DF
> #define __DEC32_MIN_EXP__ (-95)
> #define __DEC32_MIN__ 1E-95DF
> #define __DEC64_DEN__ 0.000000000000001E-383DD
> #define __DEC64_EPSILON__ 1E-15DD
> #define __DEC64_MANT_DIG__ 16
> #define __DEC64_MAX_EXP__ 384
> #define __DEC64_MAX__ 9.999999999999999E384DD
> #define __DEC64_MIN_EXP__ (-383)
> #define __DEC64_MIN__ 1E-383DD
> #define __DECIMAL_DIG__ 21
> #define __DEC_EVAL_METHOD__ 2
> #define __ELF__ 1
> #define __FINITE_MATH_ONLY__ 0
> #define __FLT_DENORM_MIN__ 1.40129846e-45F
> #define __FLT_DIG__ 6
> #define __FLT_EPSILON__ 1.19209290e-7F
> #define __FLT_EVAL_METHOD__ 0
> #define __FLT_HAS_DENORM__ 1
> #define __FLT_HAS_INFINITY__ 1
> #define __FLT_HAS_QUIET_NAN__ 1
> #define __FLT_MANT_DIG__ 24
> #define __FLT_MAX_10_EXP__ 38
> #define __FLT_MAX_EXP__ 128
> #define __FLT_MAX__ 3.40282347e+38F
> #define __FLT_MIN_10_EXP__ (-37)
> #define __FLT_MIN_EXP__ (-125)
> #define __FLT_MIN__ 1.17549435e-38F
> #define __FLT_RADIX__ 2
> #define __FreeBSD__ 9
> #define __FreeBSD_cc_version 900001
> #define __GNUC_GNU_INLINE__ 1
> #define __GNUC_MINOR__ 2
> #define __GNUC_PATCHLEVEL__ 1
> #define __GNUC__ 4
> #define __GXX_ABI_VERSION 1002
> #define __INTMAX_MAX__ 9223372036854775807L
> #define __INTMAX_TYPE__ long int
> #define __INT_MAX__ 2147483647
> #define __KPRINTF_ATTRIBUTE__ 1
> #define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
> #define __LDBL_DIG__ 18
> #define __LDBL_EPSILON__ 1.08420217248550443401e-19L
> #define __LDBL_HAS_DENORM__ 1
> #define __LDBL_HAS_INFINITY__ 1
> #define __LDBL_HAS_QUIET_NAN__ 1
> #define __LDBL_MANT_DIG__ 64
> #define __LDBL_MAX_10_EXP__ 4932
> #define __LDBL_MAX_EXP__ 16384
> #define __LDBL_MAX__ 1.18973149535723176502e+4932L
> #define __LDBL_MIN_10_EXP__ (-4931)
> #define __LDBL_MIN_EXP__ (-16381)
> #define __LDBL_MIN__ 3.36210314311209350626e-4932L
> #define __LONG_LONG_MAX__ 9223372036854775807LL
> #define __LONG_MAX__ 9223372036854775807L
> #define __LP64__ 1
> #define __MMX__ 1
> #define __NO_INLINE__ 1
> #define __PTRDIFF_TYPE__ long int
> #define __REGISTER_PREFIX__
> #define __SCHAR_MAX__ 127
> #define __SHRT_MAX__ 32767
> #define __SIZE_TYPE__ long unsigned int
> #define __SSE2_MATH__ 1
> #define __SSE2__ 1
> #define __SSE_MATH__ 1
> #define __SSE__ 1
> #define __STDC_HOSTED__ 1
> #define __STDC__ 1
> #define __UINTMAX_TYPE__ long unsigned int
> #define __USER_LABEL_PREFIX__
> #define __VERSION__ "4.2.1 20070831 patched [FreeBSD]"
> #define __WCHAR_MAX__ 2147483647
> #define __WCHAR_TYPE__ int
> #define __WINT_TYPE__ int
> #define __amd64 1
> #define __amd64__ 1
> #define __k8 1
> #define __k8__ 1
> #define __unix 1
> #define __unix__ 1
> #define __x86_64 1
> #define __x86_64__ 1
> #define unix 1
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to