PostGIS 3.0.6dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ double_nan_to_wkb_buf()

static uint8_t * double_nan_to_wkb_buf ( uint8_t *  buf,
uint8_t  variant 
)
static

Definition at line 240 of file lwout_wkb.c.

241{
242#define NAN_SIZE 8
243 const uint8_t ndr_nan[NAN_SIZE] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f};
244 const uint8_t xdr_nan[NAN_SIZE] = {0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
245
246 if ( variant & WKB_HEX )
247 {
248 for (int i = 0; i < NAN_SIZE; i++)
249 {
250 uint8_t b = (variant & WKB_NDR) ? ndr_nan[i] : xdr_nan[i];
251 /* Top four bits to 0-F */
252 buf[2*i] = hexchr[b >> 4];
253 /* Bottom four bits to 0-F */
254 buf[2*i + 1] = hexchr[b & 0x0F];
255 }
256 return buf + (2 * NAN_SIZE);
257 }
258 else
259 {
260 for (int i = 0; i < NAN_SIZE; i++)
261 {
262 buf[i] = (variant & WKB_NDR) ? ndr_nan[i] : xdr_nan[i];;
263 }
264 return buf + NAN_SIZE;
265 }
266}
static uint8_t variant
Definition cu_in_twkb.c:26
#define WKB_HEX
Definition liblwgeom.h:2126
#define WKB_NDR
Definition liblwgeom.h:2124
#define NAN_SIZE
static char * hexchr
Definition lwout_wkb.c:37

References hexchr, NAN_SIZE, variant, WKB_HEX, and WKB_NDR.

Referenced by empty_to_wkb_buf().

Here is the caller graph for this function: