WIP combine
This commit is contained in:
parent
96fd6c455e
commit
039ec0e4bd
39
route.c
39
route.c
|
@ -107,3 +107,42 @@ static inline tt_node_ptr_t rupdate(tt_arena_t *a,
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* static tt_node_ptr_t combine(tt_arena_t *a, */
|
||||||
|
/* tt_node_ptr_t r1, */
|
||||||
|
/* tt_node_ptr_t r2, */
|
||||||
|
/* int left_empty_keep, */
|
||||||
|
/* int right_empty_keep, */
|
||||||
|
/* int left_base_keep, */
|
||||||
|
/* int right_base_keep, */
|
||||||
|
/* void *f_context, */
|
||||||
|
/* tt_node_ptr_t (*f)(void *f_context, tt_node_ptr_t r1, tt_node_ptr_t r2)) */
|
||||||
|
/* { */
|
||||||
|
/* tt_node_ptr_t g(tt_node_ptr_t r1, tt_node_ptr_t r2) { */
|
||||||
|
/* tt_tag_t t1, t2; */
|
||||||
|
|
||||||
|
/* if (TT_EMPTY_P(r1)) { */
|
||||||
|
/* return left_empty_keep ? r2 : TT_EMPTY; */
|
||||||
|
/* } */
|
||||||
|
/* if (TT_EMPTY_P(r2)) { */
|
||||||
|
/* return right_empty_keep ? r1 : TT_EMPTY; */
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
/* t1 = tt_ptr_tag(r1); */
|
||||||
|
/* t2 = tt_ptr_tag(r2); */
|
||||||
|
|
||||||
|
/* if (t1 == TT_TAG_TAIL) { */
|
||||||
|
/* if (t2 == TT_TAG_TAIL) { */
|
||||||
|
/* return rwildseq(a, RET_IF_NO_PTR(g(TT_TAIL_TRIE(a,r1), TT_TAIL_TRIE(a,r2)))); */
|
||||||
|
/* } else { */
|
||||||
|
/* ....HERE */
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
/* switch (tt_ptr_tag(r1)) { */
|
||||||
|
/* default: */
|
||||||
|
/* abort(); */
|
||||||
|
/* } */
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
/* return g(r1, r2); */
|
||||||
|
/* } */
|
||||||
|
|
Loading…
Reference in New Issue