Lines Matching refs:nDigit
3736 int nDigit; /* Total number of digits */ member
3773 p->nDigit = 0; in decimalNewFromText()
3788 p->a[p->nDigit++] = c - '0'; in decimalNewFromText()
3790 p->nFrac = p->nDigit + 1; in decimalNewFromText()
3813 p->nFrac = p->nDigit - (p->nFrac - 1); in decimalNewFromText()
3826 p->a = sqlite3_realloc64(p->a, p->nDigit + iExp + 1 ); in decimalNewFromText()
3828 memset(p->a+p->nDigit, 0, iExp); in decimalNewFromText()
3829 p->nDigit += iExp; in decimalNewFromText()
3834 nExtra = p->nDigit - p->nFrac - 1; in decimalNewFromText()
3841 p->nFrac = p->nDigit - 1; in decimalNewFromText()
3845 p->a = sqlite3_realloc64(p->a, p->nDigit + iExp + 1 ); in decimalNewFromText()
3847 memmove(p->a+iExp, p->a, p->nDigit); in decimalNewFromText()
3849 p->nDigit += iExp; in decimalNewFromText()
3945 z = sqlite3_malloc( p->nDigit+4 ); in decimal_result()
3951 if( p->nDigit==0 || (p->nDigit==1 && p->a[0]==0) ){ in decimal_result()
3958 n = p->nDigit - p->nFrac; in decimal_result()
3977 }while( j<p->nDigit ); in decimal_result()
3992 int nDigit; /* Number of digits not counting trailing zeros */ in decimal_result_sci() local
4006 for(nDigit=p->nDigit; nDigit>0 && p->a[nDigit-1]==0; nDigit--){} in decimal_result_sci()
4007 for(nZero=0; nZero<nDigit && p->a[nZero]==0; nZero++){} in decimal_result_sci()
4008 nFrac = p->nFrac + (nDigit - p->nDigit); in decimal_result_sci()
4009 nDigit -= nZero; in decimal_result_sci()
4010 z = sqlite3_malloc( nDigit+20 ); in decimal_result_sci()
4015 if( nDigit==0 ){ in decimal_result_sci()
4018 nDigit = 1; in decimal_result_sci()
4023 if( p->sign && nDigit>0 ){ in decimal_result_sci()
4030 if( nDigit==1 ){ in decimal_result_sci()
4034 for(i=1; i<nDigit; i++){ in decimal_result_sci()
4037 i = nDigit+2; in decimal_result_sci()
4039 exp = nDigit - nFrac - 1; in decimal_result_sci()
4040 sqlite3_snprintf(nDigit+20-i, &z[i], "e%+03d", exp); in decimal_result_sci()
4065 nASig = pA->nDigit - pA->nFrac; in decimal_cmp()
4066 nBSig = pB->nDigit - pB->nFrac; in decimal_cmp()
4070 n = pA->nDigit; in decimal_cmp()
4071 if( n>pB->nDigit ) n = pB->nDigit; in decimal_cmp()
4074 rc = pA->nDigit - pB->nDigit; in decimal_cmp()
4111 static void decimal_expand(Decimal *p, int nDigit, int nFrac){ in decimal_expand() argument
4116 nAddSig = (nDigit - p->nDigit) - nAddFrac; in decimal_expand()
4118 p->a = sqlite3_realloc64(p->a, nDigit+1); in decimal_expand()
4124 memmove(p->a+nAddSig, p->a, p->nDigit); in decimal_expand()
4126 p->nDigit += nAddSig; in decimal_expand()
4129 memset(p->a+p->nDigit, 0, nAddFrac); in decimal_expand()
4130 p->nDigit += nAddFrac; in decimal_expand()
4141 int nSig, nFrac, nDigit; in decimal_add() local
4154 nSig = pA->nDigit - pA->nFrac; in decimal_add()
4156 if( nSig<pB->nDigit-pB->nFrac ){ in decimal_add()
4157 nSig = pB->nDigit - pB->nFrac; in decimal_add()
4161 nDigit = nSig + nFrac + 1; in decimal_add()
4162 decimal_expand(pA, nDigit, nFrac); in decimal_add()
4163 decimal_expand(pB, nDigit, nFrac); in decimal_add()
4169 for(i=nDigit-1; i>=0; i--){ in decimal_add()
4182 rc = memcmp(pA->a, pB->a, nDigit); in decimal_add()
4191 for(i=nDigit-1; i>=0; i--){ in decimal_add()
4223 acc = sqlite3_malloc64( pA->nDigit + pB->nDigit + 2 ); in decimalMul()
4228 memset(acc, 0, pA->nDigit + pB->nDigit + 2); in decimalMul()
4231 for(i=pA->nDigit-1; i>=0; i--){ in decimalMul()
4234 for(j=pB->nDigit-1, k=i+j+3; j>=0; j--, k--){ in decimalMul()
4246 pA->nDigit += pB->nDigit + 2; in decimalMul()
4249 while( pA->nFrac>minFrac && pA->a[pA->nDigit-1]==0 ){ in decimalMul()
4251 pA->nDigit--; in decimalMul()
4455 p->nDigit = 1; in decimalSumStep()