in h3_bbox.c [294:311]
void bboxNormalization(const BBox *a, const BBox *b,
LongitudeNormalization *aNormalization,
LongitudeNormalization *bNormalization) {
bool aIsTransmeridian = bboxIsTransmeridian(a);
bool bIsTransmeridian = bboxIsTransmeridian(b);
bool aToBTrendsEast = a->west - b->east < b->west - a->east;
// If neither is transmeridian, no normalization.
// If both are transmeridian, normalize east by convention.
// If one is transmeridian and one is not, normalize toward the other.
*aNormalization = !aIsTransmeridian ? NORMALIZE_NONE
: bIsTransmeridian ? NORMALIZE_EAST
: aToBTrendsEast ? NORMALIZE_EAST
: NORMALIZE_WEST;
*bNormalization = !bIsTransmeridian ? NORMALIZE_NONE
: aIsTransmeridian ? NORMALIZE_EAST
: aToBTrendsEast ? NORMALIZE_WEST
: NORMALIZE_EAST;
}