/** * Returns the AVL 'height' difference between a node's left and * right node. * * @private * @param the node to check * * @return the difference in height between left and right. * Positive numbers mean right is 'heigher', negative * numbers mean left is heigher, 0 is perfect balance. */ static int height_diff(PropPtr node) { if (node) return (height_of(node->right) - height_of(node->left)); else return 0; }
static int height_diff(PropPtr node) { if (node) return (height_of(AVL_RT(node)) - height_of(AVL_LF(node))); else return 0; }
/** * Recompute the node's height as the larger of its two children + 1 * * @private * @param node the node to fix the height of */ static void fixup_height(PropPtr node) { if (node) node->height = 1 + MAX(height_of(node->left), height_of(node->right)); }
static void fixup_height(PropPtr node) { if (node) node->height = 1 + max(height_of(AVL_LF(node)), height_of(AVL_RT(node))); }