diff lisp/emacs-lisp/avl-tree.el @ 82898:e26bae3c1724

Do s/elib-avl-node/avl-tree-node/g. Resulting changed macro names: avl-tree-node-create, avl-tree-node-balance, avl-tree-node-set-balance.
author Thien-Thi Nguyen <ttn@gnuvola.org>
date Mon, 27 Aug 2007 02:11:12 +0000
parents d1d4ee8747a9
children f0fad697d0aa
line wrap: on
line diff
--- a/lisp/emacs-lisp/avl-tree.el	Mon Aug 27 02:05:22 2007 +0000
+++ b/lisp/emacs-lisp/avl-tree.el	Mon Aug 27 02:11:12 2007 +0000
@@ -96,15 +96,15 @@
 ;;; ================================================================
 ;;;        Functions and macros handling an AVL tree node.
 
-(defmacro elib-avl-node-create (left right data balance)
+(defmacro avl-tree-node-create (left right data balance)
   ;; Create and return an avl-tree node.
   `(vector ,left ,right ,data ,balance))
 
-(defmacro elib-avl-node-balance (node)
+(defmacro avl-tree-node-balance (node)
   ;; Return the balance field of a node.
   `(aref ,node 3))
 
-(defmacro elib-avl-node-set-balance (node newbal)
+(defmacro avl-tree-node-set-balance (node newbal)
   ;; Set the balance field of a node.
   `(aset ,node 3 ,newbal))
 
@@ -140,18 +140,18 @@
          b2
          result)
     (cond
-     ((< (elib-avl-node-balance br) 0)
-      (elib-avl-node-set-balance br 0)
+     ((< (avl-tree-node-balance br) 0)
+      (avl-tree-node-set-balance br 0)
       t)
 
-     ((= (elib-avl-node-balance br) 0)
-      (elib-avl-node-set-balance br +1)
+     ((= (avl-tree-node-balance br) 0)
+      (avl-tree-node-set-balance br +1)
       nil)
 
      (t
       ;; Rebalance.
       (setq p1 (elib-node-right br)
-            b1 (elib-avl-node-balance p1))
+            b1 (avl-tree-node-balance p1))
       (if (>= b1 0)
           ;; Single RR rotation.
           (progn
@@ -159,30 +159,30 @@
             (elib-node-set-left p1 br)
             (if (= 0 b1)
                 (progn
-                  (elib-avl-node-set-balance br +1)
-                  (elib-avl-node-set-balance p1 -1)
+                  (avl-tree-node-set-balance br +1)
+                  (avl-tree-node-set-balance p1 -1)
                   (setq result nil))
-              (elib-avl-node-set-balance br 0)
-              (elib-avl-node-set-balance p1 0)
+              (avl-tree-node-set-balance br 0)
+              (avl-tree-node-set-balance p1 0)
               (setq result t))
             (elib-node-set-branch node branch p1)
             result)
 
         ;; Double RL rotation.
         (setq p2 (elib-node-left p1)
-              b2 (elib-avl-node-balance p2))
+              b2 (avl-tree-node-balance p2))
         (elib-node-set-left p1 (elib-node-right p2))
         (elib-node-set-right p2 p1)
         (elib-node-set-right br (elib-node-left p2))
         (elib-node-set-left p2 br)
         (if (> b2 0)
-            (elib-avl-node-set-balance br -1)
-          (elib-avl-node-set-balance br 0))
+            (avl-tree-node-set-balance br -1)
+          (avl-tree-node-set-balance br 0))
         (if (< b2 0)
-            (elib-avl-node-set-balance p1 +1)
-          (elib-avl-node-set-balance p1 0))
+            (avl-tree-node-set-balance p1 +1)
+          (avl-tree-node-set-balance p1 0))
         (elib-node-set-branch node branch p2)
-        (elib-avl-node-set-balance p2 0)
+        (avl-tree-node-set-balance p2 0)
         t)))))
 
 (defun elib-avl-del-balance2 (node branch)
@@ -193,18 +193,18 @@
          b2
          result)
     (cond
-     ((> (elib-avl-node-balance br) 0)
-      (elib-avl-node-set-balance br 0)
+     ((> (avl-tree-node-balance br) 0)
+      (avl-tree-node-set-balance br 0)
       t)
 
-     ((= (elib-avl-node-balance br) 0)
-      (elib-avl-node-set-balance br -1)
+     ((= (avl-tree-node-balance br) 0)
+      (avl-tree-node-set-balance br -1)
       nil)
 
      (t
       ;; Rebalance.
       (setq p1 (elib-node-left br)
-            b1 (elib-avl-node-balance p1))
+            b1 (avl-tree-node-balance p1))
       (if (<= b1 0)
           ;; Single LL rotation.
           (progn
@@ -212,30 +212,30 @@
             (elib-node-set-right p1 br)
             (if (= 0 b1)
                 (progn
-                  (elib-avl-node-set-balance br -1)
-                  (elib-avl-node-set-balance p1 +1)
+                  (avl-tree-node-set-balance br -1)
+                  (avl-tree-node-set-balance p1 +1)
                   (setq result nil))
-              (elib-avl-node-set-balance br 0)
-              (elib-avl-node-set-balance p1 0)
+              (avl-tree-node-set-balance br 0)
+              (avl-tree-node-set-balance p1 0)
               (setq result t))
             (elib-node-set-branch node branch p1)
             result)
 
         ;; Double LR rotation.
         (setq p2 (elib-node-right p1)
-              b2 (elib-avl-node-balance p2))
+              b2 (avl-tree-node-balance p2))
         (elib-node-set-right p1 (elib-node-left p2))
         (elib-node-set-left p2 p1)
         (elib-node-set-left br (elib-node-right p2))
         (elib-node-set-right p2 br)
         (if (< b2 0)
-            (elib-avl-node-set-balance br +1)
-          (elib-avl-node-set-balance br 0))
+            (avl-tree-node-set-balance br +1)
+          (avl-tree-node-set-balance br 0))
         (if (> b2 0)
-            (elib-avl-node-set-balance p1 -1)
-          (elib-avl-node-set-balance p1 0))
+            (avl-tree-node-set-balance p1 -1)
+          (avl-tree-node-set-balance p1 0))
         (elib-node-set-branch node branch p2)
-        (elib-avl-node-set-balance p2 0)
+        (avl-tree-node-set-balance p2 0)
         t)))))
 
 (defun elib-avl-do-del-internal (node branch q)
@@ -290,40 +290,40 @@
          b2
          result)
     (cond
-     ((< (elib-avl-node-balance br) 0)
-      (elib-avl-node-set-balance br 0)
+     ((< (avl-tree-node-balance br) 0)
+      (avl-tree-node-set-balance br 0)
       nil)
 
-     ((= (elib-avl-node-balance br) 0)
-      (elib-avl-node-set-balance br +1)
+     ((= (avl-tree-node-balance br) 0)
+      (avl-tree-node-set-balance br +1)
       t)
 
      (t
       ;; Tree has grown => Rebalance.
       (setq p1 (elib-node-right br))
-      (if (> (elib-avl-node-balance p1) 0)
+      (if (> (avl-tree-node-balance p1) 0)
           ;; Single RR rotation.
           (progn
             (elib-node-set-right br (elib-node-left p1))
             (elib-node-set-left p1 br)
-            (elib-avl-node-set-balance br 0)
+            (avl-tree-node-set-balance br 0)
             (elib-node-set-branch node branch p1))
 
         ;; Double RL rotation.
         (setq p2 (elib-node-left p1)
-              b2 (elib-avl-node-balance p2))
+              b2 (avl-tree-node-balance p2))
         (elib-node-set-left p1 (elib-node-right p2))
         (elib-node-set-right p2 p1)
         (elib-node-set-right br (elib-node-left p2))
         (elib-node-set-left p2 br)
         (if (> b2 0)
-            (elib-avl-node-set-balance br -1)
-          (elib-avl-node-set-balance br 0))
+            (avl-tree-node-set-balance br -1)
+          (avl-tree-node-set-balance br 0))
         (if (< b2 0)
-            (elib-avl-node-set-balance p1 +1)
-          (elib-avl-node-set-balance p1 0))
+            (avl-tree-node-set-balance p1 +1)
+          (avl-tree-node-set-balance p1 0))
         (elib-node-set-branch node branch p2))
-      (elib-avl-node-set-balance (elib-node-branch node branch) 0)
+      (avl-tree-node-set-balance (elib-node-branch node branch) 0)
       nil))))
 
 (defun elib-avl-enter-balance2 (node branch)
@@ -333,40 +333,40 @@
          p2
          b2)
     (cond
-     ((> (elib-avl-node-balance br) 0)
-      (elib-avl-node-set-balance br 0)
+     ((> (avl-tree-node-balance br) 0)
+      (avl-tree-node-set-balance br 0)
       nil)
 
-     ((= (elib-avl-node-balance br) 0)
-      (elib-avl-node-set-balance br -1)
+     ((= (avl-tree-node-balance br) 0)
+      (avl-tree-node-set-balance br -1)
       t)
 
      (t
       ;; Balance was -1 => Rebalance.
       (setq p1 (elib-node-left br))
-      (if (< (elib-avl-node-balance p1) 0)
+      (if (< (avl-tree-node-balance p1) 0)
           ;; Single LL rotation.
           (progn
             (elib-node-set-left br (elib-node-right p1))
             (elib-node-set-right p1 br)
-            (elib-avl-node-set-balance br 0)
+            (avl-tree-node-set-balance br 0)
             (elib-node-set-branch node branch p1))
 
         ;; Double LR rotation.
         (setq p2 (elib-node-right p1)
-              b2 (elib-avl-node-balance p2))
+              b2 (avl-tree-node-balance p2))
         (elib-node-set-right p1 (elib-node-left p2))
         (elib-node-set-left p2 p1)
         (elib-node-set-left br (elib-node-right p2))
         (elib-node-set-right p2 br)
         (if (< b2 0)
-            (elib-avl-node-set-balance br +1)
-          (elib-avl-node-set-balance br 0))
+            (avl-tree-node-set-balance br +1)
+          (avl-tree-node-set-balance br 0))
         (if (> b2 0)
-            (elib-avl-node-set-balance p1 -1)
-          (elib-avl-node-set-balance p1 0))
+            (avl-tree-node-set-balance p1 -1)
+          (avl-tree-node-set-balance p1 0))
         (elib-node-set-branch node branch p2))
-      (elib-avl-node-set-balance (elib-node-branch node branch) 0)
+      (avl-tree-node-set-balance (elib-node-branch node branch) 0)
       nil))))
 
 (defun elib-avl-do-enter (cmpfun root branch data)
@@ -376,7 +376,7 @@
      ((null br)
       ;; Data not in tree, insert it.
       (elib-node-set-branch root branch
-                            (elib-avl-node-create nil nil data 0))
+                            (avl-tree-node-create nil nil data 0))
       t)
 
      ((funcall cmpfun data (elib-node-data br))
@@ -428,10 +428,10 @@
   ;; Highly recursive. INTERNAL USE ONLY.
   (if (null root)
       nil
-    (elib-avl-node-create (elib-avl-do-copy (elib-node-left root))
+    (avl-tree-node-create (elib-avl-do-copy (elib-node-left root))
                           (elib-avl-do-copy (elib-node-right root))
                           (elib-node-data root)
-                          (elib-avl-node-balance root))))
+                          (avl-tree-node-balance root))))
 
 
 ;;; ================================================================
@@ -442,7 +442,7 @@
 COMPARE-FUNCTION is a function which takes two arguments, A and B,
 and returns non-nil if A is less than B, and nil otherwise."
   (cons 'AVL-TREE
-        (cons (elib-avl-node-create nil nil nil 0)
+        (cons (avl-tree-node-create nil nil nil 0)
               compare-function)))
 
 (defun avl-tree-p (obj)