Skip to content

Commit

Permalink
Progress(ish)
Browse files Browse the repository at this point in the history
  • Loading branch information
jeromekelleher committed Aug 21, 2023
1 parent e29dde2 commit 6f191f2
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
10 changes: 10 additions & 0 deletions c/tests/test_stats.c
Original file line number Diff line number Diff line change
Expand Up @@ -1082,6 +1082,16 @@ test_single_tree_divergence_matrix(void)
ret = tsk_treeseq_divergence_matrix(
&ts, 2, sample_set_sizes, NULL, 0, NULL, TSK_STAT_BRANCH, result);
CU_ASSERT_EQUAL_FATAL(ret, 0);

sample_set_sizes[0] = 3;
sample_set_sizes[1] = 1;
ret = tsk_treeseq_divergence_matrix(
&ts, 2, sample_set_sizes, NULL, 0, NULL, TSK_STAT_BRANCH, result);
CU_ASSERT_EQUAL_FATAL(ret, 0);
ret = tsk_treeseq_divergence_matrix(
&ts, 2, sample_set_sizes, NULL, 0, NULL, TSK_STAT_SITE, result);
CU_ASSERT_EQUAL_FATAL(ret, 0);

/* assert_arrays_almost_equal(4, result, D_site); */

verify_divergence_matrix(&ts, TSK_STAT_BRANCH);
Expand Down
7 changes: 6 additions & 1 deletion c/tskit/trees.c
Original file line number Diff line number Diff line change
Expand Up @@ -6768,10 +6768,12 @@ get_sample_set_index_map(const tsk_size_t num_nodes, const tsk_size_t num_sample
for (j = 0; j < num_nodes; j++) {
node_index_map[j] = TSK_NULL;
}
/* printf("START\n"); */
i = 0;
for (j = 0; j < num_sample_sets; j++) {
total_samples += sample_set_sizes[j];
for (k = 0; k < sample_set_sizes[j]; k++) {
/* printf("j = %d k = %d i = %d\n", (int) j, (int) k, (int) i); */
u = sample_sets[i];
i++;
if (u < 0 || u >= (tsk_id_t) num_nodes) {
Expand Down Expand Up @@ -6861,7 +6863,9 @@ tsk_treeseq_divergence_matrix(const tsk_treeseq_t *self, tsk_size_t num_sample_s
N = num_sample_sets_in;
if (sample_sets_in == NULL) {
sample_sets = self->samples;
N = self->num_samples;
if (sample_set_sizes_in == NULL) {
N = self->num_samples;
}
}
sample_set_sizes = sample_set_sizes_in;
/* If sample_set_sizes is NULL, assume its N 1S */
Expand All @@ -6876,6 +6880,7 @@ tsk_treeseq_divergence_matrix(const tsk_treeseq_t *self, tsk_size_t num_sample_s
}
sample_set_sizes = tmp_sample_set_sizes;
}
/* printf("N = %d\n", (int) N); */
ret = get_sample_set_index_map(num_nodes, N, sample_set_sizes, sample_sets,
&total_samples, &sample_set_index_map);
if (ret != 0) {
Expand Down

0 comments on commit 6f191f2

Please sign in to comment.