remove debug prints
authorGeoffrey Allott <geoffrey@allott.email>
Sat, 20 Aug 2022 21:44:00 +0000 (22:44 +0100)
committerGeoffrey Allott <geoffrey@allott.email>
Sat, 20 Aug 2022 21:44:00 +0000 (22:44 +0100)
src/stree.c

index 8c71a17ba2f1dbdedc9cd85b0a3dbe1891d65b91..eeed5671ecf59bc180d86718b0c9d5ab59517b3b 100644 (file)
@@ -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);