Lines Matching refs:pB
260 static int decimal_cmp(const Decimal *pA, const Decimal *pB){ in decimal_cmp() argument
262 if( pA->sign!=pB->sign ){ in decimal_cmp()
267 pA = pB; in decimal_cmp()
268 pB = pTemp; in decimal_cmp()
271 nBSig = pB->nDigit - pB->nFrac; in decimal_cmp()
276 if( n>pB->nDigit ) n = pB->nDigit; in decimal_cmp()
277 rc = memcmp(pA->a, pB->a, n); in decimal_cmp()
279 rc = pA->nDigit - pB->nDigit; in decimal_cmp()
295 Decimal *pA = 0, *pB = 0; in decimalCmpFunc() local
301 pB = decimal_new(context, argv[1], 0, 0); in decimalCmpFunc()
302 if( pB==0 || pB->isNull ) goto cmp_done; in decimalCmpFunc()
303 rc = decimal_cmp(pA, pB); in decimalCmpFunc()
309 decimal_free(pB); in decimalCmpFunc()
345 static void decimal_add(Decimal *pA, Decimal *pB){ in decimal_add() argument
351 if( pA->oom || pB==0 || pB->oom ){ in decimal_add()
355 if( pA->isNull || pB->isNull ){ in decimal_add()
361 if( nSig<pB->nDigit-pB->nFrac ){ in decimal_add()
362 nSig = pB->nDigit - pB->nFrac; in decimal_add()
365 if( nFrac<pB->nFrac ) nFrac = pB->nFrac; in decimal_add()
368 decimal_expand(pB, nDigit, nFrac); in decimal_add()
369 if( pA->oom || pB->oom ){ in decimal_add()
372 if( pA->sign==pB->sign ){ in decimal_add()
375 int x = pA->a[i] + pB->a[i] + carry; in decimal_add()
387 rc = memcmp(pA->a, pB->a, nDigit); in decimal_add()
389 aA = pB->a; in decimal_add()
394 aB = pB->a; in decimal_add()
421 Decimal *pB = decimal_new(0, 0, nKey2, zB); in decimalCollFunc() local
424 if( pA==0 || pB==0 ){ in decimalCollFunc()
427 rc = decimal_cmp(pA, pB); in decimalCollFunc()
430 decimal_free(pB); in decimalCollFunc()
447 Decimal *pB = decimal_new(context, argv[1], 0, 0); in decimalAddFunc() local
449 decimal_add(pA, pB); in decimalAddFunc()
452 decimal_free(pB); in decimalAddFunc()
460 Decimal *pB = decimal_new(context, argv[1], 0, 0); in decimalSubFunc() local
462 if( pB ){ in decimalSubFunc()
463 pB->sign = !pB->sign; in decimalSubFunc()
464 decimal_add(pA, pB); in decimalSubFunc()
468 decimal_free(pB); in decimalSubFunc()
546 Decimal *pB = decimal_new(context, argv[1], 0, 0); in decimalMulFunc() local
552 || pB==0 || pB->oom || pB->isNull in decimalMulFunc()
556 acc = sqlite3_malloc64( pA->nDigit + pB->nDigit + 2 ); in decimalMulFunc()
561 memset(acc, 0, pA->nDigit + pB->nDigit + 2); in decimalMulFunc()
563 if( pB->nFrac<minFrac ) minFrac = pB->nFrac; in decimalMulFunc()
567 for(j=pB->nDigit-1, k=i+j+3; j>=0; j--, k--){ in decimalMulFunc()
568 x = acc[k] + f*pB->a[j] + carry; in decimalMulFunc()
579 pA->nDigit += pB->nDigit + 2; in decimalMulFunc()
580 pA->nFrac += pB->nFrac; in decimalMulFunc()
581 pA->sign ^= pB->sign; in decimalMulFunc()
591 decimal_free(pB); in decimalMulFunc()