int version;
char *srs;
int srid = SRID_DEFAULT;
- int precision = OUT_MAX_DOUBLE_PRECISION;
+ int precision = DBL_DIG;
int option=0;
int lwopts = LW_GML_IS_DIMS;
static const char *default_prefix = "gml:";
if (PG_NARGS() >2 && !PG_ARGISNULL(2))
{
precision = PG_GETARG_INT32(2);
- if ( precision > OUT_MAX_DOUBLE_PRECISION )
- precision = OUT_MAX_DOUBLE_PRECISION;
+ /* TODO: leave this to liblwgeom */
+ if ( precision > DBL_DIG )
+ precision = DBL_DIG;
else if ( precision < 0 ) precision = 0;
}
char *kml;
text *result;
int version;
- int precision = OUT_MAX_DOUBLE_PRECISION;
+ int precision = DBL_DIG;
static const char *default_prefix = "";
char *prefixbuf;
const char* prefix = default_prefix;
if (PG_NARGS() >2 && !PG_ARGISNULL(2))
{
precision = PG_GETARG_INT32(2);
- if ( precision > OUT_MAX_DOUBLE_PRECISION )
- precision = OUT_MAX_DOUBLE_PRECISION;
+ /* TODO: leave this to liblwgeom */
+ if ( precision > DBL_DIG )
+ precision = DBL_DIG;
else if ( precision < 0 ) precision = 0;
}
char *svg;
text *result;
int relative = 0;
- int precision=OUT_MAX_DOUBLE_PRECISION;
+ int precision=DBL_DIG;
if ( PG_ARGISNULL(0) ) PG_RETURN_NULL();
if ( PG_NARGS() > 2 && ! PG_ARGISNULL(2) )
{
precision = PG_GETARG_INT32(2);
- if ( precision > OUT_MAX_DOUBLE_PRECISION )
- precision = OUT_MAX_DOUBLE_PRECISION;
+ /* TODO: leave this to liblwgeom */
+ if ( precision > DBL_DIG )
+ precision = DBL_DIG;
else if ( precision < 0 ) precision = 0;
}
int version;
int option = 0;
int has_bbox = 0;
- int precision = OUT_MAX_DOUBLE_PRECISION;
+ int precision = DBL_DIG;
char * srs = NULL;
/* Get the version */
if (PG_NARGS() >2 && !PG_ARGISNULL(2))
{
precision = PG_GETARG_INT32(2);
- if ( precision > OUT_MAX_DOUBLE_PRECISION )
- precision = OUT_MAX_DOUBLE_PRECISION;
+ /* TODO: leave this to liblwgeom */
+ if ( precision > DBL_DIG )
+ precision = DBL_DIG;
else if ( precision < 0 ) precision = 0;
}
* Commons functions for all export functions
*/
+#include "float.h" /* for DBL_DIG */
#include "postgres.h"
#include "executor/spi.h"
int srid;
int option = 0;
int lwopts = LW_GML_IS_DIMS;
- int precision = OUT_MAX_DOUBLE_PRECISION;
+ int precision = DBL_DIG;
static const char* default_prefix = "gml:"; /* default prefix */
const char* prefix = default_prefix;
const char* gml_id = NULL;
if (PG_NARGS() >2 && !PG_ARGISNULL(2))
{
precision = PG_GETARG_INT32(2);
- if ( precision > OUT_MAX_DOUBLE_PRECISION )
- precision = OUT_MAX_DOUBLE_PRECISION;
+ /* TODO: leave this to liblwgeom ? */
+ if ( precision > DBL_DIG )
+ precision = DBL_DIG;
else if ( precision < 0 ) precision = 0;
}
char *kml;
text *result;
int version;
- int precision = OUT_MAX_DOUBLE_PRECISION;
+ int precision = DBL_DIG;
static const char* default_prefix = ""; /* default prefix */
char *prefixbuf;
const char* prefix = default_prefix;
/* Retrieve precision if any (default is max) */
if (PG_NARGS() >2 && !PG_ARGISNULL(2))
{
+ /* TODO: leave this to liblwgeom ? */
precision = PG_GETARG_INT32(2);
- if ( precision > OUT_MAX_DOUBLE_PRECISION )
- precision = OUT_MAX_DOUBLE_PRECISION;
+ if ( precision > DBL_DIG )
+ precision = DBL_DIG;
else if ( precision < 0 ) precision = 0;
}
int version;
int option = 0;
int has_bbox = 0;
- int precision = OUT_MAX_DOUBLE_PRECISION;
+ int precision = DBL_DIG;
char * srs = NULL;
/* Get the version */
if (PG_NARGS() >2 && !PG_ARGISNULL(2))
{
precision = PG_GETARG_INT32(2);
- if ( precision > OUT_MAX_DOUBLE_PRECISION )
- precision = OUT_MAX_DOUBLE_PRECISION;
+ if ( precision > DBL_DIG )
+ precision = DBL_DIG;
else if ( precision < 0 ) precision = 0;
}
char *svg;
text *result;
int relative = 0;
- int precision=OUT_MAX_DOUBLE_PRECISION;
+ int precision=DBL_DIG;
if ( PG_ARGISNULL(0) ) PG_RETURN_NULL();
if ( PG_NARGS() > 2 && ! PG_ARGISNULL(2) )
{
precision = PG_GETARG_INT32(2);
- if ( precision > OUT_MAX_DOUBLE_PRECISION )
- precision = OUT_MAX_DOUBLE_PRECISION;
+ /* TODO: leave this to liblwgeom ? */
+ if ( precision > DBL_DIG )
+ precision = DBL_DIG;
else if ( precision < 0 ) precision = 0;
}
int option = 0;
int is_deegree = 0;
int is_dims = 1;
- int precision = OUT_MAX_DOUBLE_PRECISION;
+ int precision = DBL_DIG;
static const char* default_defid = "x3d:"; /* default defid */
char *defidbuf;
const char* defid = default_defid;
if (PG_NARGS() >2 && !PG_ARGISNULL(2))
{
precision = PG_GETARG_INT32(2);
- if ( precision > OUT_MAX_DOUBLE_PRECISION )
- precision = OUT_MAX_DOUBLE_PRECISION;
+ /* TODO: leave this to liblwgeom ? */
+ if ( precision > DBL_DIG )
+ precision = DBL_DIG;
else if ( precision < 0 ) precision = 0;
}