From: Geoffrey Allott Date: Sat, 20 Aug 2022 21:44:00 +0000 (+0100) Subject: remove debug prints X-Git-Url: https://git.pointlesshacks.com/?a=commitdiff_plain;h=36c9fa18ba264b865dbbe8302a8791f2175f4345;p=tANS.git remove debug prints --- diff --git a/src/stree.c b/src/stree.c index 8c71a17..eeed567 100644 --- a/src/stree.c +++ b/src/stree.c @@ -152,6 +152,7 @@ int stree_encode(size_t len, const uint8_t *in, uint8_t *out, size_t *aux) size_t rem = 0; size_t i; size_t n; + bool cont; nodes = (struct node *) malloc(sizeof(struct node) * stree_max_size(len)); if (!nodes) return -1; @@ -164,105 +165,65 @@ int stree_encode(size_t len, const uint8_t *in, uint8_t *out, size_t *aux) aux[i] = (size_t) (active_node - root); prev = (struct node *) 0; ++rem; - while (rem > 0) { - printf("i = %d, active_node = %d, active_edge = %c, active_len = %d, rem = %d\n", (int) i, (int) (active_node - root), (char) active_edge, (int) active_len, (int) (rem - 1)); + cont = false; + while (rem > 0 && !cont) { if (active_len == 0) { if (!node_edge_present(active_node, in, i)) { - printf("creating node %d as child of %d\n", (int) n, (int) (active_node - root)); - printf("remainder is currently %d\n", (int) rem); - printf("i is currently %d\n", (int) i); node_init(nodes + n, i); node_add_son(active_node, nodes + n); ++n; --rem; if (active_node != root) { - if (active_node->link) { - printf("following link from node %d to %d\n", (int) (active_node - root), (int) (active_node->link - root)); - } active_node = active_node->link ? active_node->link : root; if (active_node == root) { active_len = rem - 1; active_edge = in[i-active_len]; - while (node_edge_end(active_node, active_edge, active_len, in)) { - active_node = node_edge(active_node, active_edge, in); - printf("setting active_edge in first loop to %c\n", (char) active_edge); - active_len -= active_node->to - active_node->from; - active_edge = in[i-active_len]; - if (active_len == 0) active_edge = '^'; - } } } } else { - printf("active_edge is currently %c\n", (char) active_edge); active_edge = in[i]; - printf("setting active_edge in first branch to %c\n", (char) active_edge); - printf("i is currently %d\n", (int) i); ++active_len; - if (node_edge_end(active_node, active_edge, active_len, in)) { - active_node = node_edge(active_node, active_edge, in); - active_edge = '^'; - active_len = 0; - } - break; + cont = true; } } else if (active_len > 0) { if (!node_edge_present_2(active_node, active_edge, active_len, in, i)) { - printf("creating nodes %d and %d from %d\n", (int) n, (int) n + 1, (int) (active_node - root)); node_init(nodes + n + 1, i); node_split_son(active_node, active_edge, active_len, nodes + n, nodes + n + 1, in); if (prev) { prev->link = nodes + n; - printf("creating link from node %d to node %d\n", (int) (prev - root), (int) n); } prev = nodes + n; n += 2; --rem; - printf("active_edge is currently %c\n", (char) active_edge); if (active_node == root) { --active_len; - printf("setting active_edge in second branch\n"); active_edge = in[i-active_len]; - if (active_len == 0) active_edge = '^'; } else { - if (active_node->link) { - printf("following link from node %d to %d\n", (int) (active_node - root), (int) (active_node->link - root)); - } active_node = active_node->link ? active_node->link : root; if (active_node == root) { active_len = rem - 1; active_edge = in[i-active_len]; } } - printf("active_edge is currently %c\n", (char) active_edge); - printf("remainder is currently %d\n", (int) rem); - printf("active_node is currently %d\n", (int) (active_node - root)); - while (node_edge_end(active_node, active_edge, active_len, in)) { - active_node = node_edge(active_node, active_edge, in); - printf("setting active_node in second loop to %d\n", (int) (active_node - root)); - active_len -= active_node->to - active_node->from; - active_edge = in[i-active_len]; - printf("setting active_edge in second loop to %c\n", (char) active_edge); - if (active_len == 0) active_edge = '^'; - } } else { ++active_len; - if (node_edge_end(active_node, active_edge, active_len, in)) { - active_node = node_edge(active_node, active_edge, in); - active_edge = '^'; - active_len = 0; - } - break; + cont = true; } } + while (node_edge_end(active_node, active_edge, active_len, in)) { + active_node = node_edge(active_node, active_edge, in); + active_len -= active_node->to - active_node->from; + active_edge = in[i-active_len]; + } } } - //node_dbg(root, root, 0, in, len); - +#ifndef NDEBUG if (!node_validate_suffixes(root, len, in, 0)) { free(nodes); return -1; } +#endif (void) out; // TODO free(nodes);