aboutsummaryrefslogtreecommitdiff
path: root/sparse.h
diff options
context:
space:
mode:
Diffstat (limited to 'sparse.h')
-rw-r--r--sparse.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/sparse.h b/sparse.h
new file mode 100644
index 0000000..2ffbabd
--- /dev/null
+++ b/sparse.h
@@ -0,0 +1,17 @@
+#include <stdbool.h>
+
+struct b_tree {
+ size_t index;
+ unsigned long long value;
+ struct b_tree *right;
+ struct b_tree *left;
+};
+
+typedef struct b_tree node;
+
+node* search(node **tree, size_t index);
+void insert(node **tree, size_t index);
+void deltree(node *tree);
+unsigned long long lookup(node **tree, size_t index);
+
+void print_sparse(node *tree, bool label, bool nonzero, unsigned int kmer);