Lines Matching refs:iB
22134 ** Attempt to add, substract, or multiply the 64-bit signed value iB against
22139 SQLITE_PRIVATE int sqlite3AddInt64(i64 *pA, i64 iB){
22142 testcase( iB==-1 ); testcase( iB==0 );
22143 if( iB>=0 ){
22144 testcase( iA>0 && LARGEST_INT64 - iA == iB );
22145 testcase( iA>0 && LARGEST_INT64 - iA == iB - 1 );
22146 if( iA>0 && LARGEST_INT64 - iA < iB ) return 1;
22147 *pA += iB;
22149 testcase( iA<0 && -(iA + LARGEST_INT64) == iB + 1 );
22150 testcase( iA<0 && -(iA + LARGEST_INT64) == iB + 2 );
22151 if( iA<0 && -(iA + LARGEST_INT64) > iB + 1 ) return 1;
22152 *pA += iB;
22156 SQLITE_PRIVATE int sqlite3SubInt64(i64 *pA, i64 iB){
22157 testcase( iB==SMALLEST_INT64+1 );
22158 if( iB==SMALLEST_INT64 ){
22161 *pA -= iB;
22164 return sqlite3AddInt64(pA, -iB);
22169 SQLITE_PRIVATE int sqlite3MulInt64(i64 *pA, i64 iB){
22175 iB1 = iB/TWOPOWER32;
22176 iB0 = iB % TWOPOWER32;
65058 i64 iB; /* Integer value of right operand */
65072 i64 iB;
66143 i64 iB; /* Integer value of right operand */
66157 u.ag.iB = pIn2->u.i;
66159 case OP_Add: if( sqlite3AddInt64(&u.ag.iB,u.ag.iA) ) goto fp_math; break;
66160 case OP_Subtract: if( sqlite3SubInt64(&u.ag.iB,u.ag.iA) ) goto fp_math; break;
66161 case OP_Multiply: if( sqlite3MulInt64(&u.ag.iB,u.ag.iA) ) goto fp_math; break;
66164 if( u.ag.iA==-1 && u.ag.iB==SMALLEST_INT64 ) goto fp_math;
66165 u.ag.iB /= u.ag.iA;
66171 u.ag.iB %= u.ag.iA;
66175 pOut->u.i = u.ag.iB;
66193 u.ag.iB = (i64)u.ag.rB;
66196 u.ag.rB = (double)(u.ag.iB % u.ag.iA);
66397 i64 iB;
66409 u.ai.iB = sqlite3VdbeIntValue(pIn1);
66412 u.ai.iA &= u.ai.iB;
66414 u.ai.iA |= u.ai.iB;
66415 }else if( u.ai.iB!=0 ){
66419 if( u.ai.iB<0 ){
66422 u.ai.iB = u.ai.iB>(-64) ? -u.ai.iB : 64;
66425 if( u.ai.iB>=64 ){
66430 u.ai.uA <<= u.ai.iB;
66432 u.ai.uA >>= u.ai.iB;
66434 if( u.ai.iA<0 ) u.ai.uA |= ((((u64)0xffffffff)<<32)|0xffffffff) << (64-u.ai.iB);