598{
599 char gidxmem[GIDX_MAX_SIZE];
600 GIDX *
result = (GIDX *)gidxmem;
601 long unsigned int i;
602
603 POSTGIS_DEBUG(4, "[SPGIST] 'compress' function called");
604
605
606 if (PG_ARGISNULL(0))
607 {
608 POSTGIS_DEBUG(4, "[SPGIST] null entry (!?!)");
609 PG_RETURN_NULL();
610 }
611
612
613
615 {
616 POSTGIS_DEBUG(4, "[SPGIST] empty geometry!");
617 PG_RETURN_NULL();
618 }
619
620 POSTGIS_DEBUGF(4,
"[SPGIST] got GIDX: %s", gidx_to_string(
result));
621
622
623
624 for (i = 0; i < GIDX_NDIMS(
result); i++)
625 {
626 if (!isfinite(GIDX_GET_MAX(
result, i)) || !isfinite(GIDX_GET_MIN(
result, i)))
627 {
629 PG_RETURN_POINTER(
result);
630 }
631 }
632
633
635
636
638}
char result[OUT_DOUBLE_BUFFER_SIZE]
void gidx_set_unknown(GIDX *a)
GIDX * gidx_copy(GIDX *b)
void gidx_validate(GIDX *b)