static size_t node_mheight(const sp_node* node) { size_t l = node->llink ? node_mheight(node->llink) + 1 : 0; size_t r = node->rlink ? node_mheight(node->rlink) + 1 : 0; return MIN(l, r); }
static size_t node_mheight(const tr_node* node) { ASSERT(node != NULL); size_t l = node->llink ? node_mheight(node->llink) + 1 : 0; size_t r = node->rlink ? node_mheight(node->rlink) + 1 : 0; return MIN(l, r); }
static unsigned node_mheight(const hb_node *node) { unsigned l, r; ASSERT(node != NULL); l = node->llink ? node_mheight(node->llink) + 1 : 0; r = node->rlink ? node_mheight(node->rlink) + 1 : 0; return MIN(l, r); }
size_t tr_tree_mheight(const tr_tree* tree) { ASSERT(tree != NULL); return tree->root ? node_mheight(tree->root) : 0; }
unsigned hb_tree_mheight(const hb_tree *tree) { ASSERT(tree != NULL); return tree->root ? node_mheight(tree->root) : 0; }