Lines Matching refs:zNum

34258 ** Compare the 19-character string zNum against the text representation
34260 ** if zNum is less than, equal to, or greater than the string.
34261 ** Note that zNum must contain exactly 19 characters.
34271 static int compare2pow63(const char *zNum, int incr){
34277 c = (zNum[i*incr]-pow63[i])*10;
34280 c = zNum[18*incr] - '8';
34289 ** Convert zNum to a 64-bit signed integer. zNum must be decimal. This
34304 SQLITE_PRIVATE int sqlite3Atoi64(const char *zNum, i64 *pNum, int length, u8 enc){
34313 const char *zEnd = zNum + length;
34321 for(i=3-enc; i<length && zNum[i]==0; i+=2){}
34323 zEnd = &zNum[i^1];
34324 zNum += (enc&1);
34326 while( zNum<zEnd && sqlite3Isspace(*zNum) ) zNum+=incr;
34327 if( zNum<zEnd ){
34328 if( *zNum=='-' ){
34330 zNum+=incr;
34331 }else if( *zNum=='+' ){
34332 zNum+=incr;
34335 zStart = zNum;
34336 while( zNum<zEnd && zNum[0]=='0' ){ zNum+=incr; } /* Skip leading zeros. */
34337 for(i=0; &zNum[i]<zEnd && (c=zNum[i])>='0' && c<='9'; i+=incr){
34355 if( i==0 && zStart==zNum ){ /* No digits */
34359 }else if( &zNum[i]<zEnd ){ /* Extra bytes at the end */
34362 if( !sqlite3Isspace(zNum[jj]) ){
34367 }while( &zNum[jj]<zEnd );
34374 /* zNum is a 19-digit numbers. Compare it against 9223372036854775808. */
34375 c = i>19*incr ? 1 : compare2pow63(zNum, incr);
34377 /* zNum is less than 9223372036854775808 so it fits */
34383 /* zNum is greater than 9223372036854775808 so it overflows */
34386 /* zNum is exactly 9223372036854775808. Fits if negative. The
34428 ** If zNum represents an integer that will fit in 32-bits, then set
34433 ** Any non-numeric characters that following zNum are ignored.
34437 SQLITE_PRIVATE int sqlite3GetInt32(const char *zNum, int *pValue){
34441 if( zNum[0]=='-' ){
34443 zNum++;
34444 }else if( zNum[0]=='+' ){
34445 zNum++;
34448 else if( zNum[0]=='0'
34449 && (zNum[1]=='x' || zNum[1]=='X')
34450 && sqlite3Isxdigit(zNum[2])
34453 zNum += 2;
34454 while( zNum[0]=='0' ) zNum++;
34455 for(i=0; sqlite3Isxdigit(zNum[i]) && i<8; i++){
34456 u = u*16 + sqlite3HexToInt(zNum[i]);
34458 if( (u&0x80000000)==0 && sqlite3Isxdigit(zNum[i])==0 ){
34466 if( !sqlite3Isdigit(zNum[0]) ) return 0;
34467 while( zNum[0]=='0' ) zNum++;
34468 for(i=0; i<11 && (c = zNum[i] - '0')>=0 && c<=9; i++){