<p>I agree, <code>splitHistory</code> should definitely be part of <code>XTreeSplit</code>.  The refactoring looks great to me; my only comment is, I think if the <code>SplitType</code> classes hold a pointer to the node they are associated with, this may increase the size of the <code>RectangleTree</code> classes.  So I think maybe it would be better to have each of the <code>SplitType</code> methods take a pointer to the node, instead of taking the pointer to the node at construction time.  Maybe I have overlooked some reason why that isn't possible---let me know if I've made an error in my thinking.</p>

<p>I'd like to go ahead and merge this for now, so I can release mlpack 2.0.2 with these nice fixes.  Is that okay?  We can finish with the other issues in other PRs as needed.</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 or <a href="https://github.com/mlpack/mlpack/pull/556#issuecomment-216252012">view it on GitHub</a><img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFCmITgvIFpli4weAMb0lro3YCg1Yks5p9guygaJpZM4HsSai.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/556#issuecomment-216252012"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>