26 #ifndef _KERN_RBTREE_I_H
27 #define _KERN_RBTREE_I_H
63 #define STARPU_RBTREE_COLOR_MASK ((uintptr_t) 0x1)
64 #define STARPU_RBTREE_PARENT_MASK (~((uintptr_t) 0x3))
69 #define STARPU_RBTREE_COLOR_RED 0
70 #define STARPU_RBTREE_COLOR_BLACK 1
76 #define STARPU_RBTREE_SLOT_INDEX_MASK ((uintptr_t) 0x1)
77 #define STARPU_RBTREE_SLOT_PARENT_MASK (~STARPU_RBTREE_SLOT_INDEX_MASK)
84 return ((uintptr_t)node & (~STARPU_RBTREE_PARENT_MASK)) == 0;
92 return index == (index & 1);
121 return (uintptr_t)parent | index;
static struct starpu_rbtree_node * starpu_rbtree_parent(const struct starpu_rbtree_node *node)
Definition: rbtree_i.h:109
static int starpu_rbtree_check_index(int index)
Definition: rbtree_i.h:90
static int starpu_rbtree_slot_index(uintptr_t slot)
Definition: rbtree_i.h:135
struct starpu_rbtree_node * starpu_rbtree_postwalk_unlink(struct starpu_rbtree_node *node)
struct starpu_rbtree_node * starpu_rbtree_postwalk_deepest(const struct starpu_rbtree *tree)
static struct starpu_rbtree_node * starpu_rbtree_slot_parent(uintptr_t slot)
Definition: rbtree_i.h:127
static int starpu_rbtree_d2i(int diff)
Definition: rbtree_i.h:101
static uintptr_t starpu_rbtree_slot(struct starpu_rbtree_node *parent, int index)
Definition: rbtree_i.h:117
static int starpu_rbtree_check_alignment(const struct starpu_rbtree_node *node)
Definition: rbtree_i.h:82
void starpu_rbtree_insert_rebalance(struct starpu_rbtree *tree, struct starpu_rbtree_node *parent, int index, struct starpu_rbtree_node *node)
struct starpu_rbtree_node * starpu_rbtree_firstlast(const struct starpu_rbtree *tree, int direction)
struct starpu_rbtree_node * starpu_rbtree_walk(struct starpu_rbtree_node *node, int direction)
struct starpu_rbtree_node * starpu_rbtree_nearest(struct starpu_rbtree_node *parent, int index, int direction)
#define STARPU_RBTREE_SLOT_INDEX_MASK
Definition: rbtree_i.h:76
Definition: rbtree_i.h:55
Definition: rbtree_i.h:47