iB 24623 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3AddInt64(i64 *pA, i64 iB){ iB 24626 ext/sqlite3/libsqlite/sqlite3.c testcase( iB==-1 ); testcase( iB==0 ); iB 24627 ext/sqlite3/libsqlite/sqlite3.c if( iB>=0 ){ iB 24628 ext/sqlite3/libsqlite/sqlite3.c testcase( iA>0 && LARGEST_INT64 - iA == iB ); iB 24629 ext/sqlite3/libsqlite/sqlite3.c testcase( iA>0 && LARGEST_INT64 - iA == iB - 1 ); iB 24630 ext/sqlite3/libsqlite/sqlite3.c if( iA>0 && LARGEST_INT64 - iA < iB ) return 1; iB 24632 ext/sqlite3/libsqlite/sqlite3.c testcase( iA<0 && -(iA + LARGEST_INT64) == iB + 1 ); iB 24633 ext/sqlite3/libsqlite/sqlite3.c testcase( iA<0 && -(iA + LARGEST_INT64) == iB + 2 ); iB 24634 ext/sqlite3/libsqlite/sqlite3.c if( iA<0 && -(iA + LARGEST_INT64) > iB + 1 ) return 1; iB 24636 ext/sqlite3/libsqlite/sqlite3.c *pA += iB; iB 24639 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3SubInt64(i64 *pA, i64 iB){ iB 24640 ext/sqlite3/libsqlite/sqlite3.c testcase( iB==SMALLEST_INT64+1 ); iB 24641 ext/sqlite3/libsqlite/sqlite3.c if( iB==SMALLEST_INT64 ){ iB 24644 ext/sqlite3/libsqlite/sqlite3.c *pA -= iB; iB 24647 ext/sqlite3/libsqlite/sqlite3.c return sqlite3AddInt64(pA, -iB); iB 24652 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3MulInt64(i64 *pA, i64 iB){ iB 24658 ext/sqlite3/libsqlite/sqlite3.c iB1 = iB/TWOPOWER32; iB 24659 ext/sqlite3/libsqlite/sqlite3.c iB0 = iB % TWOPOWER32; iB 24662 ext/sqlite3/libsqlite/sqlite3.c *pA *= iB; iB 72284 ext/sqlite3/libsqlite/sqlite3.c i64 iB; /* Integer value of right operand */ iB 72297 ext/sqlite3/libsqlite/sqlite3.c iB = pIn2->u.i; iB 72300 ext/sqlite3/libsqlite/sqlite3.c case OP_Add: if( sqlite3AddInt64(&iB,iA) ) goto fp_math; break; iB 72301 ext/sqlite3/libsqlite/sqlite3.c case OP_Subtract: if( sqlite3SubInt64(&iB,iA) ) goto fp_math; break; iB 72302 ext/sqlite3/libsqlite/sqlite3.c case OP_Multiply: if( sqlite3MulInt64(&iB,iA) ) goto fp_math; break; iB 72305 ext/sqlite3/libsqlite/sqlite3.c if( iA==-1 && iB==SMALLEST_INT64 ) goto fp_math; iB 72306 ext/sqlite3/libsqlite/sqlite3.c iB /= iA; iB 72312 ext/sqlite3/libsqlite/sqlite3.c iB %= iA; iB 72316 ext/sqlite3/libsqlite/sqlite3.c pOut->u.i = iB; iB 72335 ext/sqlite3/libsqlite/sqlite3.c iB = (i64)rB; iB 72338 ext/sqlite3/libsqlite/sqlite3.c rB = (double)(iB % iA); iB 72493 ext/sqlite3/libsqlite/sqlite3.c i64 iB; iB 72504 ext/sqlite3/libsqlite/sqlite3.c iB = sqlite3VdbeIntValue(pIn1); iB 72507 ext/sqlite3/libsqlite/sqlite3.c iA &= iB; iB 72509 ext/sqlite3/libsqlite/sqlite3.c iA |= iB; iB 72510 ext/sqlite3/libsqlite/sqlite3.c }else if( iB!=0 ){ iB 72514 ext/sqlite3/libsqlite/sqlite3.c if( iB<0 ){ iB 72517 ext/sqlite3/libsqlite/sqlite3.c iB = iB>(-64) ? -iB : 64; iB 72520 ext/sqlite3/libsqlite/sqlite3.c if( iB>=64 ){ iB 72525 ext/sqlite3/libsqlite/sqlite3.c uA <<= iB; iB 72527 ext/sqlite3/libsqlite/sqlite3.c uA >>= iB; iB 72529 ext/sqlite3/libsqlite/sqlite3.c if( iA<0 ) uA |= ((((u64)0xffffffff)<<32)|0xffffffff) << (64-iB);