Lines Matching defs:nDigit

3694   int nDigit;       /* Total number of digits */
3731 p->nDigit = 0;
3746 p->a[p->nDigit++] = c - '0';
3748 p->nFrac = p->nDigit + 1;
3771 p->nFrac = p->nDigit - (p->nFrac - 1);
3784 p->a = sqlite3_realloc64(p->a, p->nDigit + iExp + 1 );
3786 memset(p->a+p->nDigit, 0, iExp);
3787 p->nDigit += iExp;
3792 nExtra = p->nDigit - p->nFrac - 1;
3799 p->nFrac = p->nDigit - 1;
3803 p->a = sqlite3_realloc64(p->a, p->nDigit + iExp + 1 );
3805 memmove(p->a+iExp, p->a, p->nDigit);
3807 p->nDigit += iExp;
3903 z = sqlite3_malloc( p->nDigit+4 );
3909 if( p->nDigit==0 || (p->nDigit==1 && p->a[0]==0) ){
3916 n = p->nDigit - p->nFrac;
3935 }while( j<p->nDigit );
3950 int nDigit; /* Number of digits not counting trailing zeros */
3964 for(nDigit=p->nDigit; nDigit>0 && p->a[nDigit-1]==0; nDigit--){}
3965 for(nZero=0; nZero<nDigit && p->a[nZero]==0; nZero++){}
3966 nFrac = p->nFrac + (nDigit - p->nDigit);
3967 nDigit -= nZero;
3968 z = sqlite3_malloc( nDigit+20 );
3973 if( nDigit==0 ){
3976 nDigit = 1;
3981 if( p->sign && nDigit>0 ){
3988 if( nDigit==1 ){
3992 for(i=1; i<nDigit; i++){
3995 i = nDigit+2;
3997 exp = nDigit - nFrac - 1;
3998 sqlite3_snprintf(nDigit+20-i, &z[i], "e%+03d", exp);
4023 nASig = pA->nDigit - pA->nFrac;
4024 nBSig = pB->nDigit - pB->nFrac;
4028 n = pA->nDigit;
4029 if( n>pB->nDigit ) n = pB->nDigit;
4032 rc = pA->nDigit - pB->nDigit;
4066 ** Expand the Decimal so that it has a least nDigit digits and nFrac
4069 static void decimal_expand(Decimal *p, int nDigit, int nFrac){
4074 nAddSig = (nDigit - p->nDigit) - nAddFrac;
4076 p->a = sqlite3_realloc64(p->a, nDigit+1);
4082 memmove(p->a+nAddSig, p->a, p->nDigit);
4084 p->nDigit += nAddSig;
4087 memset(p->a+p->nDigit, 0, nAddFrac);
4088 p->nDigit += nAddFrac;
4099 int nSig, nFrac, nDigit;
4112 nSig = pA->nDigit - pA->nFrac;
4114 if( nSig<pB->nDigit-pB->nFrac ){
4115 nSig = pB->nDigit - pB->nFrac;
4119 nDigit = nSig + nFrac + 1;
4120 decimal_expand(pA, nDigit, nFrac);
4121 decimal_expand(pB, nDigit, nFrac);
4127 for(i=nDigit-1; i>=0; i--){
4140 rc = memcmp(pA->a, pB->a, nDigit);
4149 for(i=nDigit-1; i>=0; i--){
4181 acc = sqlite3_malloc64( pA->nDigit + pB->nDigit + 2 );
4186 memset(acc, 0, pA->nDigit + pB->nDigit + 2);
4189 for(i=pA->nDigit-1; i>=0; i--){
4192 for(j=pB->nDigit-1, k=i+j+3; j>=0; j--, k--){
4204 pA->nDigit += pB->nDigit + 2;
4207 while( pA->nFrac>minFrac && pA->a[pA->nDigit-1]==0 ){
4209 pA->nDigit--;
4413 p->nDigit = 1;