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

◆ gidx_equals()

bool gidx_equals ( GIDX *  a,
GIDX *  b 
)

Definition at line 467 of file gserialized_gist_nd.c.

468{
469 uint32_t i, dims_a, dims_b;
470
471 if (!a && !b)
472 return true;
473 if (!a || !b)
474 return false;
475
476 if (gidx_is_unknown(a) && gidx_is_unknown(b))
477 return true;
478
479 if (gidx_is_unknown(a) || gidx_is_unknown(b))
480 return false;
481
482 dims_a = GIDX_NDIMS(a);
483 dims_b = GIDX_NDIMS(b);
484
485 /* For all shared dimensions min(a) == min(b), max(a) == max(b)
486 Unshared dimensions do not matter */
487 for (i = 0; i < Min(dims_a, dims_b); i++)
488 {
489 /* If the missing dimension was not padded with -+FLT_MAX */
490 if (GIDX_GET_MAX(a, i) != FLT_MAX && GIDX_GET_MAX(b, i) != FLT_MAX)
491 {
492 if (GIDX_GET_MIN(a, i) != GIDX_GET_MIN(b, i))
493 return false;
494 if (GIDX_GET_MAX(a, i) != GIDX_GET_MAX(b, i))
495 return false;
496 }
497 }
498 return true;
499}
bool gidx_is_unknown(const GIDX *a)

References gidx_is_unknown().

Referenced by gserialized_gidx_geom_same(), gserialized_gidx_gidx_same(), gserialized_gist_consistent_leaf(), gserialized_gist_picksplit(), gserialized_gist_same(), gserialized_same(), and gserialized_spgist_leaf_consistent_nd().

Here is the call graph for this function:
Here is the caller graph for this function: