]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Simplifications to the overflow-free multiplier. Also remove some commented-out
authordrh <drh@noemail.net>
Sat, 5 Mar 2011 21:41:34 +0000 (21:41 +0000)
committerdrh <drh@noemail.net>
Sat, 5 Mar 2011 21:41:34 +0000 (21:41 +0000)
code that was left in that subroutine by mistake on the previous check-in.

FossilOrigin-Name: 55fc25fdab61e6094289e068c343e012fec10439

manifest
manifest.uuid
src/util.c

index c596f893aea121f956ffc2700878c2834b866ba9..de72b49b022a572ea00fe9ee4e6ba10112dc6601 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-C Fix\sall\sknown\sinstances\sof\ssigned-integer\soverflow.\s\sWithin\sSQL\sexpressions,\ninteger\soverflow\snow\sforces\scoercion\sto\sfloating\spoint.\s\sThe\sshift\soperators\nwork\swith\sany\sinteger\sright-hand\soperand\swith\snegative\svalues\sreversing\nthe\sdirection\sof\sthe\sshift.
-D 2011-03-05T20:59:46.394
+C Simplifications\sto\sthe\soverflow-free\smultiplier.\s\sAlso\sremove\ssome\scommented-out\ncode\sthat\swas\sleft\sin\sthat\ssubroutine\sby\smistake\son\sthe\sprevious\scheck-in.
+D 2011-03-05T21:41:34.187
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 27701a1653595a1f2187dc61c8117e00a6c1d50f
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -231,7 +231,7 @@ F src/tokenize.c 604607d6813e9551cf5189d899e0a25c12681080
 F src/trigger.c b8bedb9c0084ceb51a40f54fcca2ce048c8de852
 F src/update.c c40aedd40baf460806f1c9f2cbe4a1dac445ee91
 F src/utf.c 1baeeac91707a4df97ccc6141ec0f808278af685
-F src/util.c c849a1e77d00a8a28429a22818155dbf9c311fee
+F src/util.c 0e04fb389132f3cfbd5ea69a096206da1cbf32de
 F src/vacuum.c 924bd1bcee2dfb05376f79845bd3b4cec7b54b2f
 F src/vdbe.c 038e5689e48cd6597158c5dc34f8d40a03a87ad7
 F src/vdbe.h 4de0efb4b0fdaaa900cf419b35c458933ef1c6d2
@@ -914,14 +914,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 04abab71ecd52f6070b9f84781a3df3d6dba7722
-R dffbfc883d2df8713fd0ba30b453b561
+P abf21394124a0af46f072793718964cee2ce55d0
+R 24060eb83e7955ab55ced35ef7d2ddfd
 U drh
-Z e566f37c8f9e6003556e493773a7db62
+Z f1d3fbfcdf98a3d3e54748471aba836e
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFNcqRGoxKgR168RlERAlK6AJ9gnf6EDR2ZKhaKkoiA1Nkl5MKeDgCeOJxY
-dz92w6QJZQImuyiplDh238s=
-=sTB2
+iD8DBQFNcq4RoxKgR168RlERAmdSAJ9o51MyoK1fC2ug7/Csp3X3zbAPjQCfdi/3
+uxlCQmct6yZ8VJBAl19dNj8=
+=owHF
 -----END PGP SIGNATURE-----
index 6a05b41f73ce4018097bf029b86ff3c859e88351..348b2e8a6b5090c5a8a5ca12d0e8ccac99284ece 100644 (file)
@@ -1 +1 @@
-abf21394124a0af46f072793718964cee2ce55d0
\ No newline at end of file
+55fc25fdab61e6094289e068c343e012fec10439
\ No newline at end of file
index b2787974c1969ef7549e9faa36eaccc4c1c069a3..b070bd6ae78ca7917b50ce7ef02fae72189ea868 100644 (file)
@@ -1121,15 +1121,13 @@ int sqlite3MulInt64(i64 *pA, i64 iB){
   i64 iA = *pA;
   i64 iA1, iA0, iB1, iB0, r;
 
-//  if( iB==1 ){ return 0; }
-//  if( iA==1 ){ *pA = iB; return 0; }
   iA1 = iA/TWOPOWER32;
   iA0 = iA % TWOPOWER32;
   iB1 = iB/TWOPOWER32;
   iB0 = iB % TWOPOWER32;
   if( iA1*iB1 != 0 ) return 1;
-  r = iA1*iB0;
-  if( sqlite3AddInt64(&r, iA0*iB1) ) return 1;
+  assert( iA1*iB0==0 || iA0*iB1==0 );
+  r = iA1*iB0 + iA0*iB1;
   testcase( r==(-TWOPOWER31)-1 );
   testcase( r==(-TWOPOWER31) );
   testcase( r==TWOPOWER31 );