PostGIS 3.7.0dev-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 241 of file lwout_wkb.c.

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

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

Referenced by empty_to_wkb_buf().

Here is the caller graph for this function: