Definition at line 1628 of file gserialized_gist_2d.c.

References ConsiderSplitContext::boundingBox, ConsiderSplitContext::dim, ConsiderSplitContext::entriesCount, ConsiderSplitContext::first, ConsiderSplitContext::leftUpper, LIMIT_RATIO, non_negative(), ConsiderSplitContext::overlap, ConsiderSplitContext::range, ConsiderSplitContext::ratio, and ConsiderSplitContext::rightLower.

Referenced by gserialized_gist_picksplit_2d().

1638 POSTGIS_DEBUGF(5,

"consider split: dimNum = %d, rightLower = %f, " 1639 "minLeftCount = %d, leftUpper = %f, maxLeftCount = %d ",

1640 dimNum, rightLower, minLeftCount, leftUpper, maxLeftCount);

1648 leftCount = minLeftCount;

1652 if (maxLeftCount <= context->entriesCount / 2)

1653 leftCount = maxLeftCount;

1663 ratio = ((float4) Min(leftCount, rightCount)) /

1668 bool selectthis =

false;

1682 overlap = (leftUpper - rightLower) / range;

1687 else if (context->

dim == dimNum)

1693 if (overlap < context->overlap ||

1694 (overlap == context->

overlap && ratio > context->

ratio))

1717 (range > context->

range &&

1725 context->

first =

false;

1726 context->

ratio = ratio;

1727 context->

range = range;

1731 context->

dim = dimNum;

1732 POSTGIS_DEBUG(5,

"split selected");

static float non_negative(float val)