my mistake, length should not be zero based: if ( depth == stack.length - 1 ) { // increase the stack if we have used up all space int[] newStack = new int[depth * 3 ]; System.arraycopy( stack, 0, newStack, 0, stack.length); stack = newStack; }
On 11/07/2012 00:18, Mark Proctor wrote: > ok I think I see what you mean, it's overwriting the array it's > copying from. have updated it, and running tests now: > if ( depth == stack.length - 1 ) { > // increase the stack if we have used up all space > int[] newStack = new int[depth * 3 ]; > System.arraycopy( stack, 0, newStack, 0, > stack.length-1 ); > stack = newStack; > } > > Mark > On 11/07/2012 00:04, Mark Proctor wrote: >> Wolfgang, >> >> Not sure what you mean, I just checked the src, line 150: >> https://github.com/droolsjbpm/drools/blob/c00d45712f1cf2027ebda9e7df41567cf89c8fcd/drools-core/src/main/java/org/drools/core/util/RBTree.java >> >> >> >> public void recurse() { >> if ( depth == stack.length - 1 ) { >> // increase the stack if we have used up all space >> stack = new int[depth * 3 ]; >> stack = Arrays.copyOf( stack, stack.length * 3 ); >> } The comment doesn't exist there to remove. Mark >> >> >> >> On 07/07/2012 07:05, Wolfgang Laun wrote: >>> Removing the line marked with //>>> helps. >>> >>> public void recurse() { >>> >>> if ( depth == stack.length - 1 ) { >>> // increase the stack if we have used up all space >>> //>>> stack = new int[depth * 3 ]; >>> stack = Arrays.copyOf( stack, stack.length * 3 ); >>> } >>> >>> Cheers >>> Wolfgang >> On 07/07/2012, Mark Proctor <mproc...@codehaus.org> wrote: >>>> I started to write this range indexing class, based on a RBTree >>>> implementation that I lifted from the web somewhere. However it's a >>>> bit >>>> buggy, and large ranges null pointer. Anyone want to work on making >>>> these stable? Once done we can start using them with not/exists nodes. >>>> Standard joins will take a bit more work, due to some integration >>>> issues >>>> of the tuple structures. >>>> >>>> The two classes can be found in this commit, just try removing the >>>> @Ignore to see the issues, and feel free to add more range tests. >>>> https://github.com/droolsjbpm/drools/commit/c789459c431763581db02653fb7bfafd5742ae1f >>>> >>>> >>>> drools-core/src/main/java/org/drools/core/util/RBTree.java >>>> drools-core/src/test/java/org/drools/core/util/RBTreeTest.java >>>> >>>> Mark >>>> _______________________________________________ >>>> rules-dev mailing list >>>> rules-dev@lists.jboss.org >>>> https://lists.jboss.org/mailman/listinfo/rules-dev >>>> >>> _______________________________________________ >>> rules-dev mailing list >>> rules-dev@lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/rules-dev >> >> > > _______________________________________________ rules-dev mailing list rules-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-dev