From 4b2ea2ca00eea7feea036b7642c0c1443b8f77a1 Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Sun, 3 May 2020 20:20:22 -0700 Subject: removed buggy qsort header and implemented myself --- sys/libbio/test.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'sys/libbio/test.c') diff --git a/sys/libbio/test.c b/sys/libbio/test.c index 8054864..da29c84 100644 --- a/sys/libbio/test.c +++ b/sys/libbio/test.c @@ -99,6 +99,8 @@ test·newick() io·Peeker rdr; io·Putter wtr; + bio·Node **end, **it, **list; + heap = mem·makearena(mem·sys, nil); rdr = (io·Peeker){.get = &io·getbyte, .unget = &io·ungetbyte}; wtr = (io·Putter){.put = &io·putbyte, .putstr = &io·putstring}; @@ -109,8 +111,22 @@ test·newick() t.h = heap; t.heap = (mem·Allocator){ .alloc = &mem·arenaalloc, .free = nil, }; - err = bio·readnewick(rdr, fd[0], &t); + if (err = bio·readnewick(rdr, fd[0], &t), err) { + errorf("failed to read newick"); + return 1; + } + printf("number of children: %d\n", t.root->nchild); + phylo·ladderize(t.root); + + list = mem·arenaalloc(heap, t.nleaf, sizeof(**list)); + phylo·getleafs(t, list); + for (it = list, end = list + t.nleaf; it != end; ++it) { + printf("Leaf '%s'\n", (*it)->name); + } + + bio·Node *path[100]; + // phylo·diameter(t, path); printf("Loaded tree with %d leafs and %d nodes\n", t.nleaf, t.root->nnode); err = bio·writenewick(t, wtr, fd[1]); -- cgit v1.2.1