• Home
  • Raw
  • Download

Lines Matching refs:iB

28998 SQLITE_PRIVATE int sqlite3AddInt64(i64 *pA, i64 iB){
29000 return __builtin_add_overflow(*pA, iB, pA);
29004 testcase( iB==-1 ); testcase( iB==0 );
29005 if( iB>=0 ){
29006 testcase( iA>0 && LARGEST_INT64 - iA == iB );
29007 testcase( iA>0 && LARGEST_INT64 - iA == iB - 1 );
29008 if( iA>0 && LARGEST_INT64 - iA < iB ) return 1;
29010 testcase( iA<0 && -(iA + LARGEST_INT64) == iB + 1 );
29011 testcase( iA<0 && -(iA + LARGEST_INT64) == iB + 2 );
29012 if( iA<0 && -(iA + LARGEST_INT64) > iB + 1 ) return 1;
29014 *pA += iB;
29018 SQLITE_PRIVATE int sqlite3SubInt64(i64 *pA, i64 iB){
29020 return __builtin_sub_overflow(*pA, iB, pA);
29022 testcase( iB==SMALLEST_INT64+1 );
29023 if( iB==SMALLEST_INT64 ){
29026 *pA -= iB;
29029 return sqlite3AddInt64(pA, -iB);
29033 SQLITE_PRIVATE int sqlite3MulInt64(i64 *pA, i64 iB){
29035 return __builtin_mul_overflow(*pA, iB, pA);
29038 if( iB>0 ){
29039 if( iA>LARGEST_INT64/iB ) return 1;
29040 if( iA<SMALLEST_INT64/iB ) return 1;
29041 }else if( iB<0 ){
29043 if( iB<SMALLEST_INT64/iA ) return 1;
29045 if( iB==SMALLEST_INT64 ) return 1;
29047 if( -iA>LARGEST_INT64/-iB ) return 1;
29050 *pA = iA*iB;
79965 i64 iB; /* Integer value of right operand */
79977 iB = pIn2->u.i;
79980 case OP_Add: if( sqlite3AddInt64(&iB,iA) ) goto fp_math; break;
79981 case OP_Subtract: if( sqlite3SubInt64(&iB,iA) ) goto fp_math; break;
79982 case OP_Multiply: if( sqlite3MulInt64(&iB,iA) ) goto fp_math; break;
79985 if( iA==-1 && iB==SMALLEST_INT64 ) goto fp_math;
79986 iB /= iA;
79992 iB %= iA;
79996 pOut->u.i = iB;
80017 iB = (i64)rB;
80020 rB = (double)(iB % iA);
80215 i64 iB;
80226 iB = sqlite3VdbeIntValue(pIn1);
80229 iA &= iB;
80231 iA |= iB;
80232 }else if( iB!=0 ){
80236 if( iB<0 ){
80239 iB = iB>(-64) ? -iB : 64;
80242 if( iB>=64 ){
80247 uA <<= iB;
80249 uA >>= iB;
80251 if( iA<0 ) uA |= ((((u64)0xffffffff)<<32)|0xffffffff) << (64-iB);