Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Rig geopoly to use sqlite3AtoF() if it is available, as that routine is much faster than atof(). |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
470c6c07d0eb70806ac257c1c8ad877e |
User & Date: | drh 2018-09-28 00:16:57.366 |
Context
2018-09-28
| ||
13:18 | Make most geopoly functions pure. (check-in: 944e167a98 user: drh tags: trunk) | |
00:16 | Rig geopoly to use sqlite3AtoF() if it is available, as that routine is much faster than atof(). (check-in: 470c6c07d0 user: drh tags: trunk) | |
2018-09-27
| ||
23:57 | Small performance optimization in the JSON parser of Geopoly. (check-in: fb520e7103 user: drh tags: trunk) | |
Changes
Changes to ext/rtree/geopoly.c.
︙ | ︙ | |||
154 155 156 157 158 159 160 | if( c=='-' ){ j = 1; c = z[j]; } if( c=='0' && z[j+1]>='0' && z[j+1]<='9' ) return 0; for(;; j++){ c = z[j]; | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | if( c=='-' ){ j = 1; c = z[j]; } if( c=='0' && z[j+1]>='0' && z[j+1]<='9' ) return 0; for(;; j++){ c = z[j]; if( safe_isdigit(c) ) continue; if( c=='.' ){ if( z[j-1]=='-' ) return 0; if( seenDP ) return 0; seenDP = 1; continue; } if( c=='e' || c=='E' ){ |
︙ | ︙ | |||
176 177 178 179 180 181 182 | } if( c<'0' || c>'9' ) return 0; continue; } break; } if( z[j-1]<'0' ) return 0; | > > > > > > > > | > > | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | } if( c<'0' || c>'9' ) return 0; continue; } break; } if( z[j-1]<'0' ) return 0; if( pVal ){ #ifdef SQLITE_AMALGAMATION /* The sqlite3AtoF() routine is much much faster than atof(), if it ** is available */ double r; (void)sqlite3AtoF((const char*)p->z, &r, j, SQLITE_UTF8); *pVal = r; #else *pVal = (GeoCoord)atof((const char*)p->z); #endif } p->z += j; return 1; } /* ** If the input is a well-formed JSON array of coordinates with at least ** four coordinates and where each coordinate is itself a two-value array, |
︙ | ︙ |