Home | History | Annotate | Download | only in dist

Lines Matching refs:zNum

37475 ** Compare the 19-character string zNum against the text representation
37477 ** if zNum is less than, equal to, or greater than the string.
37478 ** Note that zNum must contain exactly 19 characters.
37488 static int compare2pow63(const char *zNum, int incr){
37494 c = (zNum[i*incr]-pow63[i])*10;
37497 c = zNum[18*incr] - '8';
37506 ** Convert zNum to a 64-bit signed integer. zNum must be decimal. This
37521 SQLITE_PRIVATE int sqlite3Atoi64(const char *zNum, i64 *pNum, int length, u8 enc){
37530 const char *zEnd = zNum + length;
37538 for(i=3-enc; i<length && zNum[i]==0; i+=2){}
37540 zEnd = &zNum[i^1];
37541 zNum += (enc&1);
37543 while( zNum<zEnd && sqlite3Isspace(*zNum) ) zNum+=incr;
37544 if( zNum<zEnd ){
37545 if( *zNum=='-' ){
37547 zNum+=incr;
37548 }else if( *zNum=='+' ){
37549 zNum+=incr;
37552 zStart = zNum;
37553 while( zNum<zEnd && zNum[0]=='0' ){ zNum+=incr; } /* Skip leading zeros. */
37554 for(i=0; &zNum[i]<zEnd && (c=(unsigned)zNum[i]-'0')<=9; i+=incr){
37572 if( i==0 && zStart==zNum ){ /* No digits */
37576 }else if( &zNum[i]<zEnd ){ /* Extra bytes at the end */
37579 if( !sqlite3Isspace(zNum[jj]) ){
37584 }while( &zNum[jj]<zEnd );
37591 /* zNum is a 19-digit numbers. Compare it against 9223372036854775808. */
37592 j = i>19*incr ? 1 : compare2pow63(zNum, incr);
37594 /* zNum is less than 9223372036854775808 so it fits */
37600 /* zNum is greater than 9223372036854775808 so it overflows */
37603 /* zNum is exactly 9223372036854775808. Fits if negative. The
37649 ** If zNum represents an integer that will fit in 32-bits, then set
37654 ** Any non-numeric characters that following zNum are ignored.
37658 SQLITE_PRIVATE int sqlite3GetInt32(const char *zNum, int *pValue){
37662 if( zNum[0]=='-' ){
37664 zNum++;
37665 }else if( zNum[0]=='+' ){
37666 zNum++;
37669 else if( zNum[0]=='0'
37670 && (zNum[1]=='x' || zNum[1]=='X')
37671 && sqlite3Isxdigit(zNum[2])
37674 zNum += 2;
37675 while( zNum[0]=='0' ) zNum++;
37676 for(i=0; i<8 && sqlite3Isxdigit(zNum[i]); i++){
37677 u = u*16 + sqlite3HexToInt(zNum[i]);
37679 if( (u&0x80000000)==0 && sqlite3Isxdigit(zNum[i])==0 ){
37687 if( !sqlite3Isdigit(zNum[0]) ) return 0;
37688 while( zNum[0]=='0' ) zNum++;
37689 for(i=0; i<11 && (c = zNum[i] - '0')>=0 && c<=9; i++){