/* ISC license. */ #include #include #include unsigned int avltreen_newnode (avltreen *t, unsigned int d) { register unsigned int i = genset_new(&t->x) ; if (i < avltreen_totalsize(t)) { register avlnode *s = avltreen_nodes(t) ; s[i].data = d ; s[i].child[0] = s[i].child[1] = avltreen_totalsize(t) ; s[i].balance = 0 ; } return i ; }