mirror of
https://github.com/BertoldVdb/ZoneDetect.git
synced 2026-04-27 14:57:40 +00:00
Format library
This commit is contained in:
parent
591a75df2f
commit
79da7aae0a
2 changed files with 179 additions and 159 deletions
|
|
@ -95,7 +95,8 @@ static int32_t ZDFloatToFixedPoint(float input, float scale, unsigned int precis
|
||||||
return (int32_t)(inputScaled * (float)(1 << (precision - 1)));
|
return (int32_t)(inputScaled * (float)(1 << (precision - 1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
static float ZDFixedPointToFloat(int32_t input, float scale, unsigned int precision){
|
static float ZDFixedPointToFloat(int32_t input, float scale, unsigned int precision)
|
||||||
|
{
|
||||||
const float value = (float)input / (float)(1 << (precision - 1));
|
const float value = (float)input / (float)(1 << (precision - 1));
|
||||||
return value * scale;
|
return value * scale;
|
||||||
}
|
}
|
||||||
|
|
@ -143,7 +144,8 @@ static unsigned int ZDDecodeVariableLengthUnsigned(const ZoneDetect *library, ui
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int ZDDecodeVariableLengthUnsignedReverse(const ZoneDetect *library, uint32_t *index, uint64_t *result){
|
static unsigned int ZDDecodeVariableLengthUnsignedReverse(const ZoneDetect *library, uint32_t *index, uint64_t *result)
|
||||||
|
{
|
||||||
uint32_t i = *index;
|
uint32_t i = *index;
|
||||||
|
|
||||||
if(*index >= (uint32_t)library->length) {
|
if(*index >= (uint32_t)library->length) {
|
||||||
|
|
@ -187,7 +189,8 @@ static unsigned int ZDDecodeVariableLengthUnsignedReverse(const ZoneDetect *libr
|
||||||
return ZDDecodeVariableLengthUnsigned(library, &i2, result);
|
return ZDDecodeVariableLengthUnsigned(library, &i2, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int64_t ZDDecodeUnsignedToSigned(uint64_t value){
|
static int64_t ZDDecodeUnsignedToSigned(uint64_t value)
|
||||||
|
{
|
||||||
return (value & 1) ? -(int64_t)(value / 2) : (int64_t)(value / 2);
|
return (value & 1) ? -(int64_t)(value / 2) : (int64_t)(value / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -326,7 +329,8 @@ static int ZDPointInBox(int32_t xl, int32_t x, int32_t xr, int32_t yl, int32_t y
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ZDDecodePoint(uint64_t point, int32_t* lat, int32_t* lon){
|
static void ZDDecodePoint(uint64_t point, int32_t* lat, int32_t* lon)
|
||||||
|
{
|
||||||
uint64_t latu = 0;
|
uint64_t latu = 0;
|
||||||
uint64_t lonu = 0;
|
uint64_t lonu = 0;
|
||||||
|
|
||||||
|
|
@ -361,7 +365,8 @@ struct Reader{
|
||||||
int32_t firstLat, firstLon;
|
int32_t firstLat, firstLon;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void ZDReaderInit(struct Reader *reader, const ZoneDetect *library, uint32_t polygonIndex){
|
static void ZDReaderInit(struct Reader *reader, const ZoneDetect *library, uint32_t polygonIndex)
|
||||||
|
{
|
||||||
memset(reader, 0, sizeof(*reader));
|
memset(reader, 0, sizeof(*reader));
|
||||||
|
|
||||||
reader->library = library;
|
reader->library = library;
|
||||||
|
|
@ -370,7 +375,8 @@ static void ZDReaderInit(struct Reader *reader, const ZoneDetect *library, uint3
|
||||||
reader->first = 1;
|
reader->first = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ZDReaderGetPoint(struct Reader *reader, int32_t *pointLat, int32_t *pointLon){
|
static int ZDReaderGetPoint(struct Reader *reader, int32_t *pointLat, int32_t *pointLon)
|
||||||
|
{
|
||||||
int32_t diffLat = 0, diffLon = 0;
|
int32_t diffLat = 0, diffLon = 0;
|
||||||
|
|
||||||
readNewPoint:
|
readNewPoint:
|
||||||
|
|
@ -486,7 +492,8 @@ readNewPoint:
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ZDFindPolygon(const ZoneDetect *library, uint32_t wantedId, uint32_t* metadataIndexPtr, uint32_t* polygonIndexPtr){
|
static int ZDFindPolygon(const ZoneDetect *library, uint32_t wantedId, uint32_t* metadataIndexPtr, uint32_t* polygonIndexPtr)
|
||||||
|
{
|
||||||
uint32_t polygonId = 0;
|
uint32_t polygonId = 0;
|
||||||
uint32_t bboxIndex = library->bboxOffset;
|
uint32_t bboxIndex = library->bboxOffset;
|
||||||
|
|
||||||
|
|
@ -524,7 +531,8 @@ static int ZDFindPolygon(const ZoneDetect *library, uint32_t wantedId, uint32_t*
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t* ZDPolygonToListInternal(const ZoneDetect *library, uint32_t polygonIndex, size_t* length){
|
static int32_t* ZDPolygonToListInternal(const ZoneDetect *library, uint32_t polygonIndex, size_t* length)
|
||||||
|
{
|
||||||
struct Reader reader;
|
struct Reader reader;
|
||||||
ZDReaderInit(&reader, library, polygonIndex);
|
ZDReaderInit(&reader, library, polygonIndex);
|
||||||
|
|
||||||
|
|
@ -574,7 +582,8 @@ fail:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
float* ZDPolygonToList(const ZoneDetect *library, uint32_t polygonId, size_t* lengthPtr){
|
float* ZDPolygonToList(const ZoneDetect *library, uint32_t polygonId, size_t* lengthPtr)
|
||||||
|
{
|
||||||
uint32_t polygonIndex;
|
uint32_t polygonIndex;
|
||||||
int32_t* data = NULL;
|
int32_t* data = NULL;
|
||||||
float* flData = NULL;
|
float* flData = NULL;
|
||||||
|
|
@ -1051,19 +1060,30 @@ const char *ZDLookupResultToString(ZDLookupResult result)
|
||||||
const char *ZDGetErrorString(int errZD)
|
const char *ZDGetErrorString(int errZD)
|
||||||
{
|
{
|
||||||
switch ((enum ZDInternalError)errZD) {
|
switch ((enum ZDInternalError)errZD) {
|
||||||
default: assert(0);
|
default:
|
||||||
case ZD_OK : return "";
|
assert(0);
|
||||||
case ZD_E_DB_OPEN : return ZD_E_COULD_NOT("open database file");
|
case ZD_OK :
|
||||||
case ZD_E_DB_SEEK : return ZD_E_COULD_NOT("retrieve database file size");
|
return "";
|
||||||
case ZD_E_DB_MMAP : return ZD_E_COULD_NOT("map database file to system memory");
|
case ZD_E_DB_OPEN :
|
||||||
|
return ZD_E_COULD_NOT("open database file");
|
||||||
|
case ZD_E_DB_SEEK :
|
||||||
|
return ZD_E_COULD_NOT("retrieve database file size");
|
||||||
|
case ZD_E_DB_MMAP :
|
||||||
|
return ZD_E_COULD_NOT("map database file to system memory");
|
||||||
#if defined(_MSC_VER) || defined(__MINGW32__)
|
#if defined(_MSC_VER) || defined(__MINGW32__)
|
||||||
case ZD_E_DB_MMAP_MSVIEW : return ZD_E_COULD_NOT("open database file view");
|
case ZD_E_DB_MMAP_MSVIEW :
|
||||||
case ZD_E_DB_MAP_EXCEPTION: return "I/O exception occurred while accessing database file view";
|
return ZD_E_COULD_NOT("open database file view");
|
||||||
case ZD_E_DB_MUNMAP_MSVIEW: return ZD_E_COULD_NOT("close database file view");
|
case ZD_E_DB_MAP_EXCEPTION:
|
||||||
|
return "I/O exception occurred while accessing database file view";
|
||||||
|
case ZD_E_DB_MUNMAP_MSVIEW:
|
||||||
|
return ZD_E_COULD_NOT("close database file view");
|
||||||
#endif
|
#endif
|
||||||
case ZD_E_DB_MUNMAP : return ZD_E_COULD_NOT("unmap database");
|
case ZD_E_DB_MUNMAP :
|
||||||
case ZD_E_DB_CLOSE : return ZD_E_COULD_NOT("close database file");
|
return ZD_E_COULD_NOT("unmap database");
|
||||||
case ZD_E_PARSE_HEADER : return ZD_E_COULD_NOT("parse database header");
|
case ZD_E_DB_CLOSE :
|
||||||
|
return ZD_E_COULD_NOT("close database file");
|
||||||
|
case ZD_E_PARSE_HEADER :
|
||||||
|
return ZD_E_COULD_NOT("parse database header");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue