else if (cmp > 0) p = p->__head.p[1]; \
else break; \
} \
- for (i = 0; i < plen[0] && i < plen[1]; ++i) \
+ for (i = 0; i < plen[0] && i < plen[1]; ++i) /* find the LCA */ \
if (path[0][i] == path[1][i] && pcmp[0][i] <= 0 && pcmp[1][i] >= 0) \
break; \
if (i == plen[0] || i == plen[1]) return 0; /* no elements in the closed interval */ \
check_rmq(root, 'A', 'Z');
check_rmq(root, 'F', 'G');
check_rmq(root, 'a', 'z');
+ for (i = 0; i < n; ++i) {
+ int lo, hi;
+ lo = (int)(drand48() * n);
+ hi = (int)(drand48() * n);
+ check_rmq(root, lo, hi);
+ }
krmq_itr_first(my, root, &itr);
do {