Convert libavl/avl.{c,h} to rb.{c,h} from the libavl-2.0.3 distribution
shlomif opened this issue · comments
Convert libavl/avl.{c,h} to rb.{c,h} from the libavl-2.0.3 distribution . We applied some changes to the avl.[ch] files only to discover that their AVL balancing factor required all values from -3 to 3. rb.[ch] on the other hand requires only a 1-bit enum of RED/BLACK for that. So it will allow storing it as the low bits of the pointers. "Plan to throw one away.".
Fixed in the latest commit 35447b2 that was rebased into master. Closing.