Lines Matching full:compare
122 (struct node *self, struct node *elm, int (*compare)(struct node *lhs, struct node *rhs)) \
126 if (compare(elm, self) < 0) \
127 self->field.avl_left= TREE_INSERT_##node##_##field(self->field.avl_left, elm, compare); \
129 self->field.avl_right= TREE_INSERT_##node##_##field(self->field.avl_right, elm, compare); \
134 (struct node *self, struct node *elm, int (*compare)(struct node *lhs, struct node *rhs)) \
138 if (compare(elm, self) == 0) \
140 if (compare(elm, self) < 0) \
141 return TREE_FIND_##node##_##field(self->field.avl_left, elm, compare); \
143 return TREE_FIND_##node##_##field(self->field.avl_right, elm, compare); \
155 (struct node *self, struct node *elm, int (*compare)(struct node *lhs, struct node *rhs)) \
159 if (compare(elm, self) == 0) \
166 if (compare(elm, self) < 0) \
167 self->field.avl_left= TREE_REMOVE_##node##_##field(self->field.avl_left, elm, compare); \
169 self->field.avl_right= TREE_REMOVE_##node##_##field(self->field.avl_right, elm, compare); \