Definition at line 1692 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().

1702 POSTGIS_DEBUGF(5,

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

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

1712 leftCount = minLeftCount;

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

1717 leftCount = maxLeftCount;

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

1732 bool selectthis =

false;

1746 overlap = (leftUpper - rightLower) / range;

1751 else if (context->

dim == dimNum)

1757 if (overlap < context->overlap ||

1758 (overlap == context->

overlap && ratio > context->

ratio))

1781 (range > context->

range &&

1789 context->

first =

false;

1790 context->

ratio = ratio;

1791 context->

range = range;

1795 context->

dim = dimNum;

1796 POSTGIS_DEBUG(5,

"split selected");

static float non_negative(float val)