• Richard M. Stallman's avatar
    (rotate_right, rotate_left): Simplify · 4314dea4
    Richard M. Stallman authored
    total_length calculation.  Minimize pointer dereferencing.
    (balance_an_interval): Remove recursive rebalancing.
    Rebalance precisely when imbalanced.  If a rotation is done,
    rebalance only the node which may have become unbalanced.
    Iterate	until the current node is balanced.
    (balance_possible_root_interval): New function.
    (balance_intervals): Move the interation into rebalance_an_interval.
    (balance_intervals_internal): New subroutine of balance_intervals.
    (split_interval_right, split_interval_left): Speed up by
    not checking LEAF_INTERVAL_P.
    (split_interval_right, split_interval_left, find_interval,
    adjust_intervals_for_insertion, graft_intervals_into_buffer):
    Add dynamic rebalancing anywhere a node may become unbalanced.
    (graft_intervals_into_buffer, copy_intervals): No longer
    any need to do a full rebalance as the tree stays balanced.
intervals.c 50.3 KB