Lines Matching defs:pB

4761 **    pB!=0
4762 ** pB->isNull==0
4764 static int decimal_cmp(const Decimal *pA, const Decimal *pB){
4766 if( pA->sign!=pB->sign ){
4771 pA = pB;
4772 pB = pTemp;
4775 nBSig = pB->nDigit - pB->nFrac;
4780 if( n>pB->nDigit ) n = pB->nDigit;
4781 rc = memcmp(pA->a, pB->a, n);
4783 rc = pA->nDigit - pB->nDigit;
4799 Decimal *pA = 0, *pB = 0;
4805 pB = decimal_new(context, argv[1], 0, 0);
4806 if( pB==0 || pB->isNull ) goto cmp_done;
4807 rc = decimal_cmp(pA, pB);
4813 decimal_free(pB);
4845 ** Add the value pB into pA.
4847 ** Both pA and pB might become denormalized by this routine.
4849 static void decimal_add(Decimal *pA, Decimal *pB){
4855 if( pA->oom || pB==0 || pB->oom ){
4859 if( pA->isNull || pB->isNull ){
4865 if( nSig<pB->nDigit-pB->nFrac ){
4866 nSig = pB->nDigit - pB->nFrac;
4869 if( nFrac<pB->nFrac ) nFrac = pB->nFrac;
4872 decimal_expand(pB, nDigit, nFrac);
4873 if( pA->oom || pB->oom ){
4876 if( pA->sign==pB->sign ){
4879 int x = pA->a[i] + pB->a[i] + carry;
4891 rc = memcmp(pA->a, pB->a, nDigit);
4893 aA = pB->a;
4898 aB = pB->a;
4925 Decimal *pB = decimal_new(0, 0, nKey2, zB);
4928 if( pA==0 || pB==0 ){
4931 rc = decimal_cmp(pA, pB);
4934 decimal_free(pB);
4951 Decimal *pB = decimal_new(context, argv[1], 0, 0);
4953 decimal_add(pA, pB);
4956 decimal_free(pB);
4964 Decimal *pB = decimal_new(context, argv[1], 0, 0);
4966 if( pB==0 ) return;
4967 pB->sign = !pB->sign;
4968 decimal_add(pA, pB);
4971 decimal_free(pB);
5049 Decimal *pB = decimal_new(context, argv[1], 0, 0);
5055 || pB==0 || pB->oom || pB->isNull
5059 acc = sqlite3_malloc64( pA->nDigit + pB->nDigit + 2 );
5064 memset(acc, 0, pA->nDigit + pB->nDigit + 2);
5066 if( pB->nFrac<minFrac ) minFrac = pB->nFrac;
5070 for(j=pB->nDigit-1, k=i+j+3; j>=0; j--, k--){
5071 x = acc[k] + f*pB->a[j] + carry;
5082 pA->nDigit += pB->nDigit + 2;
5083 pA->nFrac += pB->nFrac;
5084 pA->sign ^= pB->sign;
5094 decimal_free(pB);