summaryrefslogtreecommitdiff
path: root/source3/ubiqx/ubi_AVLtree.c
AgeCommit message (Collapse)AuthorFilesLines
1998-03-10Updates to all of these base level modules.Christopher R. Hertel1-171/+46
Trees: Previously, the AVL node type was different than the node type used in the BinTree and SplayTree modules. It requires an additional field to maintain AVL balance information. I merged that field into the base type (in ubi_BinTree.h) so that all three use the same node type. On most systems this will have zero effect on the node size, due to word alignment. The change allowed me to remove a bigbunch of redundant code, which makes the AVL module smaller and cleaner. Linked Lists: I combined ubi_StackQueue into ubi_sLinkList. The interface has changed a tiny bit. I added macros to ubi_dLinkList to round it out a bit. I have verified that the few Samba modules that use these tools (so far) do not have any problems with the changes. Chris -)----- (This used to be commit 599a29401defded32358dfae18e54704c0428f38)
1997-12-24Backed out changes that attempted to address a pointer array using -1,0,1.Christopher R. Hertel1-39/+104
Jeremy pointed out that there might be problems with this. Darn shame. (This used to be commit ce9acc96a6cbc91f0a3f95221c3e8f801cbdb602)
1997-12-19Adding the cache module.Christopher R. Hertel1-3/+12
I'll be using the cache module to replace the name cache in mangle.c. The new one should be much faster and should require less memory. Another feature is that the cache size can be limited by the amount of memory used in addition to the number of entries allowed. With the current cache, the default is to allocate 12800 bytes representing 50 entries (256 bytes each). With the same amount of memory, I should be able to load over around two hundred entries. Changes to the AVL trees were minor (missing comments). Chris -)----- (This used to be commit 45962779a658b0b78895ae08ad394e870ce6ed10)
1997-12-11While working on a general-purpose caching module (out soon), I thought ofChristopher R. Hertel1-203/+135
a better way to handle the node pointer array used in ubi_BinTree. The change simplified the code a bigbunch. It also forced updates to all of the binary tree modules. CRH (This used to be commit db9898559f1493ade4478196b72663759bb18995)
1997-10-30Modified Files:Christopher R. Hertel1-0/+689
ubiqx/Makefile ubiqx/README.UBI Added new modules to the Makefile. Changed the text of the README to reflect the directory change. Added Files: ubiqx/ubi_AVLtree.c ubiqx/ubi_AVLtree.h ubiqx/ubi_BinTree.c ubiqx/ubi_BinTree.h ubiqx/ubi_SplayTree.c ubiqx/ubi_SplayTree.h ubiqx/ubi_StackQueue.c ubiqx/ubi_StackQueue.h ubiqx/ubi_sLinkList.c ubiqx/ubi_sLinkList.h This is the remainder of the toolkit. A quick rundown: sLinkList = A simple singly-linked list. StackQueue = Implements both a stack and a queue. dLinkList = (Not added 'cause it's already there.) A doubly-linked list. BinTree = Base level binary tree module. (No height balancing, just the basics.) AVLtree = Descendant type of BinTree. Implements a height-balanced (AVL) binary tree. SplayTree = Descendant type of BinTree. Implements a splay-balanced binary tree. Renamed Files: ubiqx/COPYING.LGPL ==> ubiqx/COPYING.LIB This matches the naming that GNU suggests. (This used to be commit c6205dd45e455a4a228a3411b95fa569e0ea00e1)
1997-10-16I got fed up trying to put the tree and list stuff into a subdirectory,Christopher R. Hertel1-695/+0
so I've started to move them into the main directory. (This used to be commit 4691a94d3c657321d29231f062aed714dfe4ac26)
1997-10-10This is the ubiqx binary tree and linked list library.Christopher R. Hertel1-0/+695
This library is being included as part of the Samba distribution. (Hurray!) (This used to be commit 3590a783338defa4ff1385b2d5bb095c5051ac82)