Lines Matching defs:nDigit
5788 int nDigit; /* Total number of digits */
5826 p->nDigit = 0;
5841 p->a[p->nDigit++] = c - '0';
5843 p->nFrac = p->nDigit + 1;
5866 p->nFrac = p->nDigit - (p->nFrac - 1);
5879 signed char *a = sqlite3_realloc64(p->a, (sqlite3_int64)p->nDigit
5883 memset(p->a+p->nDigit, 0, iExp);
5884 p->nDigit += iExp;
5889 nExtra = p->nDigit - p->nFrac - 1;
5896 p->nFrac = p->nDigit - 1;
5900 signed char *a = sqlite3_realloc64(p->a, (sqlite3_int64)p->nDigit
5904 memmove(p->a+iExp, p->a, p->nDigit);
5906 p->nDigit += iExp;
5911 for(i=0; i<p->nDigit && p->a[i]==0; i++){}
5912 if( i>=p->nDigit ) p->sign = 0;
5914 if( p->nDigit>SQLITE_DECIMAL_MAX_DIGIT ) goto new_from_text_failed;
6007 z = sqlite3_malloc64( (sqlite3_int64)p->nDigit+4 );
6013 if( p->nDigit==0 || (p->nDigit==1 && p->a[0]==0) ){
6020 n = p->nDigit - p->nFrac;
6039 }while( j<p->nDigit );
6053 if( p->nDigit<=N ) return;
6054 for(nZero=0; nZero<p->nDigit && p->a[nZero]==0; nZero++){}
6056 if( p->nDigit<=N ) return;
6068 memset(&p->a[N], 0, p->nDigit - N);
6080 int nDigit; /* Number of digits not counting trailing zeros */
6095 for(nDigit=p->nDigit; nDigit>N && p->a[nDigit-1]==0; nDigit--){}
6096 for(nZero=0; nZero<nDigit && p->a[nZero]==0; nZero++){}
6097 nFrac = p->nFrac + (nDigit - p->nDigit);
6098 nDigit -= nZero;
6099 z = sqlite3_malloc64( (sqlite3_int64)nDigit+20 );
6104 if( nDigit==0 ){
6107 nDigit = 1;
6112 if( p->sign && nDigit>0 ){
6119 if( nDigit==1 ){
6123 for(i=1; i<nDigit; i++){
6126 i = nDigit+2;
6128 exp = nDigit - nFrac - 1;
6129 sqlite3_snprintf(nDigit+20-i, &z[i], "e%+03d", exp);
6146 while( pA->nFrac>0 && pA->a[pA->nDigit-1]==0 ){
6147 pA->nDigit--;
6150 while( pB->nFrac>0 && pB->a[pB->nDigit-1]==0 ){
6151 pB->nDigit--;
6162 nASig = pA->nDigit - pA->nFrac;
6163 nBSig = pB->nDigit - pB->nFrac;
6167 n = pA->nDigit;
6168 if( n>pB->nDigit ) n = pB->nDigit;
6171 rc = pA->nDigit - pB->nDigit;
6205 ** Expand the Decimal so that it has a least nDigit digits and nFrac
6208 static void decimal_expand(Decimal *p, int nDigit, int nFrac){
6214 nAddSig = (nDigit - p->nDigit) - nAddFrac;
6216 if( nDigit+1>SQLITE_DECIMAL_MAX_DIGIT ){ p->oom = 1; return; }
6217 a = sqlite3_realloc64(p->a, nDigit+1);
6224 memmove(p->a+nAddSig, p->a, p->nDigit);
6226 p->nDigit += nAddSig;
6229 memset(p->a+p->nDigit, 0, nAddFrac);
6230 p->nDigit += nAddFrac;
6241 int nSig, nFrac, nDigit;
6254 nSig = pA->nDigit - pA->nFrac;
6256 if( nSig<pB->nDigit-pB->nFrac ){
6257 nSig = pB->nDigit - pB->nFrac;
6261 nDigit = nSig + nFrac + 1;
6262 decimal_expand(pA, nDigit, nFrac);
6263 decimal_expand(pB, nDigit, nFrac);
6269 for(i=nDigit-1; i>=0; i--){
6282 rc = memcmp(pA->a, pB->a, nDigit);
6291 for(i=nDigit-1; i>=0; i--){
6324 sumDigit = pA->nDigit;
6325 sumDigit += pB->nDigit;
6333 memset(acc, 0, pA->nDigit + pB->nDigit + 2);
6336 for(i=pA->nDigit-1; i>=0; i--){
6339 for(j=pB->nDigit-1, k=i+j+3; j>=0; j--, k--){
6351 pA->nDigit += pB->nDigit + 2;
6354 while( pA->nFrac>minFrac && pA->a[pA->nDigit-1]==0 ){
6356 pA->nDigit--;
6566 p->nDigit = 1;
31771 int nDigit = 0;
31781 nDigit++;
31784 if( nDigit==0 ){