<p>In <a href="https://github.com/mlpack/mlpack/pull/746#discussion_r75233646">src/mlpack/core/tree/cellbound_impl.hpp</a>:</p>
<pre style='color:#555'>&gt; +    for (size_t d = 0; d &lt; dim; d++)
&gt; +    {
&gt; +      lower = loBound(d, i) - point[d];
&gt; +      higher = point[d] - hiBound(d, i);
&gt; +
&gt; +      // Since only one of &#39;lower&#39; or &#39;higher&#39; is negative, if we add each&#39;s
&gt; +      // absolute value to itself and then sum those two, our result is the
&gt; +      // nonnegative half of the equation times two; then we raise to power Power.
&gt; +      sum += pow((lower + fabs(lower)) + (higher + fabs(higher)),
&gt; +          (ElemType) MetricType::Power);
&gt; +    }
&gt; +
&gt; +    if (sum &lt; minSum)
&gt; +      minSum = sum;
&gt; +  }
&gt; +
</pre>
<p>So you have two different bounding structures, if I understand right: the minimum bounding hyperrectangle, and also the series of bounding rectangles defined by the minimum and maximum addresses.  In some cases that minimum bounding hyperrectangle will be much tighter than the series of bounding rectangles, so I wonder: you might get better performance if this function took the max of the minimum distances to the series of bounding rectangles and to the minimum bounding rectangle.  (The same applies to the other bounding functions too.)</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/mlpack/mlpack/pull/746/files/8c5a97dcb1641ae6c98edc70426fb19f5cd7cb79#r75233646">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AJ4bFEOkX_JBWpRnm7Os1L6ygkkZ7d91ks5qg6zWgaJpZM4JZrEi">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFEbURbsdo7LdZsVeq7WfhXpJwqNYks5qg6zWgaJpZM4JZrEi.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/mlpack/mlpack/pull/746/files/8c5a97dcb1641ae6c98edc70426fb19f5cd7cb79#r75233646"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/mlpack/mlpack","title":"mlpack/mlpack","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/mlpack/mlpack"}},"updates":{"snippets":[{"icon":"PERSON","message":"@rcurtin in #746: So you have two different bounding structures, if I understand right: the minimum bounding hyperrectangle, and also the series of bounding rectangles defined by the minimum and maximum addresses.  In some cases that minimum bounding hyperrectangle will be much tighter than the series of bounding rectangles, so I wonder: you might get better performance if this function took the max of the minimum distances to the series of bounding rectangles and to the minimum bounding rectangle.  (The same applies to the other bounding functions too.)"}],"action":{"name":"View Pull Request","url":"https://github.com/mlpack/mlpack/pull/746/files/8c5a97dcb1641ae6c98edc70426fb19f5cd7cb79#r75233646"}}}</script>