view src/s/esix5r4.h @ 5415:95882472f2da

(rotate_right, rotate_left): Simplify 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.
author Richard M. Stallman <rms@gnu.org>
date Sun, 02 Jan 1994 19:01:15 +0000
parents c1ddce9c1e2c
children 695cf19ef79e
line wrap: on
line source

/* Definitions for ESIX System V 4.0.4, a variant of V.4 for the 386.  */
/* Redone by zircon!joe@uunet.uu.net (Joe Kelsey).  */

#include "usg5-4.h"

#define SYSTEM_MALLOC 1
#if defined (HAVE_XFREE386)
# undef LIB_STANDARD
# define LIB_STANDARD -lc
#else
# define LIB_X11_LIB -lsocket -lc -lX11
# undef LIB_STANDARD
# ifdef ORDINARY_LINK
#   define LIB_STANDARD -lnsl -lns -lelf /usr/ucblib/libucb.a
# else
#   define LIB_STANDARD -lnsl -lns -lelf /usr/ucblib/libucb.a /usr/ccs/lib/crtn.o
# endif

/* Resolve BSD string functions in X Window library from libucb.a.  */
# define BSTRING

/* zircon!joe says this makes X windows work.  */
# define BROKEN_FIONREAD
#endif