#ifndef RKDNODE_H #define RKDNODE_H typedef struct _rkdnode { /* Key of the node and its dimension */ int *key; unsigned int dim; void *data; /* Data pointer */ unsigned int disc; /* Discriminant */ unsigned int elem_count; /* Element in subtrees + self */ struct _rkdnode *L, *R; /* Children */ } rkdnode_t; rkdnode_t *rkdnode_new(unsigned int dim, int *key, void *data); void rkdnode_set_l_child(rkdnode_t *N, rkdnode_t *L); void rkdnode_set_r_child(rkdnode_t *N, rkdnode_t *R); void rkdnode_set_children(rkdnode_t *N, rkdnode_t *L, rkdnode_t *R); #endif /* RKDNODE_H */