Lines Matching refs:iB
33562 SQLITE_PRIVATE int sqlite3AddInt64(i64 *pA, i64 iB){
33564 return __builtin_add_overflow(*pA, iB, pA);
33568 testcase( iB==-1 ); testcase( iB==0 );
33569 if( iB>=0 ){
33570 testcase( iA>0 && LARGEST_INT64 - iA == iB );
33571 testcase( iA>0 && LARGEST_INT64 - iA == iB - 1 );
33572 if( iA>0 && LARGEST_INT64 - iA < iB ) return 1;
33574 testcase( iA<0 && -(iA + LARGEST_INT64) == iB + 1 );
33575 testcase( iA<0 && -(iA + LARGEST_INT64) == iB + 2 );
33576 if( iA<0 && -(iA + LARGEST_INT64) > iB + 1 ) return 1;
33578 *pA += iB;
33582 SQLITE_PRIVATE int sqlite3SubInt64(i64 *pA, i64 iB){
33584 return __builtin_sub_overflow(*pA, iB, pA);
33586 testcase( iB==SMALLEST_INT64+1 );
33587 if( iB==SMALLEST_INT64 ){
33590 *pA -= iB;
33593 return sqlite3AddInt64(pA, -iB);
33597 SQLITE_PRIVATE int sqlite3MulInt64(i64 *pA, i64 iB){
33599 return __builtin_mul_overflow(*pA, iB, pA);
33602 if( iB>0 ){
33603 if( iA>LARGEST_INT64/iB ) return 1;
33604 if( iA<SMALLEST_INT64/iB ) return 1;
33605 }else if( iB<0 ){
33607 if( iB<SMALLEST_INT64/iA ) return 1;
33609 if( iB==SMALLEST_INT64 ) return 1;
33611 if( -iA>LARGEST_INT64/-iB ) return 1;
33614 *pA = iA*iB;
88768 i64 iB; /* Integer value of right operand */
88780 iB = pIn2->u.i;
88782 case OP_Add: if( sqlite3AddInt64(&iB,iA) ) goto fp_math; break;
88783 case OP_Subtract: if( sqlite3SubInt64(&iB,iA) ) goto fp_math; break;
88784 case OP_Multiply: if( sqlite3MulInt64(&iB,iA) ) goto fp_math; break;
88787 if( iA==-1 && iB==SMALLEST_INT64 ) goto fp_math;
88788 iB /= iA;
88794 iB %= iA;
88798 pOut->u.i = iB;
88818 iB = sqlite3VdbeIntValue(pIn2);
88821 rB = (double)(iB % iA);
88902 i64 iB;
88913 iB = sqlite3VdbeIntValue(pIn1);
88916 iA &= iB;
88918 iA |= iB;
88919 }else if( iB!=0 ){
88923 if( iB<0 ){
88926 iB = iB>(-64) ? -iB : 64;
88929 if( iB>=64 ){
88934 uA <<= iB;
88936 uA >>= iB;
88938 if( iA<0 ) uA |= ((((u64)0xffffffff)<<32)|0xffffffff) << (64-iB);