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