Skip to content

Commit f8ee2fa

Browse files
committed
Remove tsk_diff_iter_t
1 parent 47572c1 commit f8ee2fa

File tree

7 files changed

+9
-430
lines changed

7 files changed

+9
-430
lines changed

c/CHANGELOG.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
--------------------
2+
[1.2.0] - 2025-XX-XX
3+
--------------------
4+
5+
**Breaking changes**
6+
7+
- Remove ``tsk_diff_iter_t`` and associated functions.
8+
(:user:`benjeffery`, :pr:`3221`, :issue:`2797`).
9+
110
--------------------
211
[1.1.4] - 2025-03-31
312
--------------------

c/tests/test_tables.c

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -11505,35 +11505,6 @@ test_table_collection_delete_older(void)
1150511505
tsk_treeseq_free(&ts);
1150611506
}
1150711507

11508-
static void
11509-
test_table_collection_edge_diffs_errors(void)
11510-
{
11511-
int ret;
11512-
tsk_id_t ret_id;
11513-
tsk_table_collection_t tables;
11514-
tsk_diff_iter_t iter;
11515-
11516-
ret = tsk_table_collection_init(&tables, 0);
11517-
CU_ASSERT_EQUAL(ret, 0);
11518-
tables.sequence_length = 1;
11519-
ret_id
11520-
= tsk_node_table_add_row(&tables.nodes, TSK_NODE_IS_SAMPLE, 0, -1, -1, NULL, 0);
11521-
CU_ASSERT_EQUAL(ret_id, 0);
11522-
ret_id = tsk_node_table_add_row(&tables.nodes, 0, 1, -1, -1, NULL, 0);
11523-
CU_ASSERT_EQUAL(ret_id, 1);
11524-
ret = (int) tsk_edge_table_add_row(&tables.edges, 0., 1., 1, 0, NULL, 0);
11525-
CU_ASSERT_EQUAL(ret, 0);
11526-
11527-
ret = tsk_diff_iter_init(&iter, &tables, -1, 0);
11528-
CU_ASSERT_EQUAL(ret, TSK_ERR_TABLES_NOT_INDEXED);
11529-
11530-
tables.nodes.time[0] = 1;
11531-
ret = tsk_diff_iter_init(&iter, &tables, -1, 0);
11532-
CU_ASSERT_EQUAL(ret, TSK_ERR_BAD_NODE_TIME_ORDERING);
11533-
11534-
tsk_table_collection_free(&tables);
11535-
}
11536-
1153711508
int
1153811509
main(int argc, char **argv)
1153911510
{
@@ -11670,8 +11641,6 @@ main(int argc, char **argv)
1167011641
{ "test_table_collection_takeset_indexes",
1167111642
test_table_collection_takeset_indexes },
1167211643
{ "test_table_collection_delete_older", test_table_collection_delete_older },
11673-
{ "test_table_collection_edge_diffs_errors",
11674-
test_table_collection_edge_diffs_errors },
1167511644
{ NULL, NULL },
1167611645
};
1167711646

c/tests/test_trees.c

Lines changed: 0 additions & 197 deletions
Original file line numberDiff line numberDiff line change
@@ -534,100 +534,6 @@ verify_tree_next_prev(tsk_treeseq_t *ts)
534534
free(trees);
535535
}
536536

537-
static void
538-
verify_tree_diffs(tsk_treeseq_t *ts, tsk_flags_t options)
539-
{
540-
int ret, valid_tree;
541-
tsk_diff_iter_t iter;
542-
tsk_tree_t tree;
543-
tsk_edge_list_node_t *record;
544-
tsk_edge_list_t records_out, records_in;
545-
tsk_size_t num_nodes = tsk_treeseq_get_num_nodes(ts);
546-
tsk_size_t j, num_trees;
547-
double lft, rgt;
548-
tsk_id_t *parent = tsk_malloc(num_nodes * sizeof(tsk_id_t));
549-
tsk_id_t *child = tsk_malloc(num_nodes * sizeof(tsk_id_t));
550-
tsk_id_t *sib = tsk_malloc(num_nodes * sizeof(tsk_id_t));
551-
552-
CU_ASSERT_FATAL(parent != NULL);
553-
CU_ASSERT_FATAL(child != NULL);
554-
CU_ASSERT_FATAL(sib != NULL);
555-
for (j = 0; j < num_nodes; j++) {
556-
parent[j] = TSK_NULL;
557-
child[j] = TSK_NULL;
558-
sib[j] = TSK_NULL;
559-
}
560-
ret = tsk_diff_iter_init_from_ts(&iter, ts, options);
561-
CU_ASSERT_EQUAL_FATAL(ret, 0);
562-
ret = tsk_tree_init(&tree, ts, 0);
563-
CU_ASSERT_EQUAL_FATAL(ret, 0);
564-
valid_tree = tsk_tree_first(&tree);
565-
CU_ASSERT_EQUAL_FATAL(valid_tree, TSK_TREE_OK);
566-
tsk_diff_iter_print_state(&iter, _devnull);
567-
568-
num_trees = 0;
569-
while ((ret = tsk_diff_iter_next(&iter, &lft, &rgt, &records_out, &records_in))
570-
== TSK_TREE_OK) {
571-
tsk_diff_iter_print_state(&iter, _devnull);
572-
num_trees++;
573-
/* Update forwards */
574-
for (record = records_out.head; record != NULL; record = record->next) {
575-
parent[record->edge.child] = TSK_NULL;
576-
}
577-
for (record = records_in.head; record != NULL; record = record->next) {
578-
parent[record->edge.child] = record->edge.parent;
579-
}
580-
if (valid_tree) {
581-
/* Now check against the sparse tree iterator. */
582-
for (j = 0; j < num_nodes; j++) {
583-
CU_ASSERT_EQUAL(parent[j], tree.parent[j]);
584-
}
585-
}
586-
/* Update backwards */
587-
for (record = records_out.tail; record != NULL; record = record->prev) {
588-
parent[record->edge.child] = TSK_NULL;
589-
}
590-
for (record = records_in.tail; record != NULL; record = record->prev) {
591-
parent[record->edge.child] = record->edge.parent;
592-
}
593-
if (valid_tree) {
594-
/* Now check against the sparse tree iterator. */
595-
for (j = 0; j < num_nodes; j++) {
596-
CU_ASSERT_EQUAL(parent[j], tree.parent[j]);
597-
}
598-
CU_ASSERT_EQUAL(tree.interval.left, lft);
599-
CU_ASSERT_EQUAL(tree.interval.right, rgt);
600-
valid_tree = tsk_tree_next(&tree);
601-
if (num_trees < tsk_treeseq_get_num_trees(ts)) {
602-
CU_ASSERT_EQUAL(ret, TSK_TREE_OK);
603-
} else {
604-
CU_ASSERT_EQUAL(valid_tree, 0);
605-
}
606-
} else {
607-
CU_ASSERT_TRUE_FATAL(options & TSK_INCLUDE_TERMINAL);
608-
for (j = 0; j < num_nodes; j++) {
609-
CU_ASSERT_EQUAL(parent[j], -1);
610-
}
611-
CU_ASSERT_EQUAL(lft, tsk_treeseq_get_sequence_length(ts));
612-
CU_ASSERT_EQUAL(rgt, tsk_treeseq_get_sequence_length(ts));
613-
}
614-
}
615-
if (options & TSK_INCLUDE_TERMINAL) {
616-
CU_ASSERT_EQUAL(num_trees, tsk_treeseq_get_num_trees(ts) + 1);
617-
} else {
618-
CU_ASSERT_EQUAL(num_trees, tsk_treeseq_get_num_trees(ts));
619-
}
620-
CU_ASSERT_EQUAL_FATAL(valid_tree, 0);
621-
ret = tsk_diff_iter_free(&iter);
622-
CU_ASSERT_EQUAL_FATAL(ret, 0);
623-
ret = tsk_tree_free(&tree);
624-
CU_ASSERT_EQUAL_FATAL(ret, 0);
625-
626-
free(parent);
627-
free(child);
628-
free(sib);
629-
}
630-
631537
static void
632538
verify_edge_array_single_tree(
633539
tsk_tree_t *tree, tsk_edge_table_t *edge_table, tsk_size_t num_nodes)
@@ -5918,71 +5824,6 @@ test_convenience_arrays_multi_tree(void)
59185824
tsk_treeseq_free(&ts);
59195825
}
59205826

5921-
/*=======================================================
5922-
* Diff iter tests.
5923-
*======================================================*/
5924-
5925-
static void
5926-
test_simple_diff_iter(void)
5927-
{
5928-
int ret;
5929-
tsk_treeseq_t ts;
5930-
5931-
tsk_treeseq_from_text(&ts, 10, paper_ex_nodes, paper_ex_edges, NULL, NULL, NULL,
5932-
paper_ex_individuals, NULL, 0);
5933-
5934-
verify_tree_diffs(&ts, 0);
5935-
verify_tree_diffs(&ts, TSK_INCLUDE_TERMINAL);
5936-
5937-
ret = tsk_treeseq_free(&ts);
5938-
CU_ASSERT_EQUAL(ret, 0);
5939-
}
5940-
5941-
static void
5942-
test_nonbinary_diff_iter(void)
5943-
{
5944-
int ret;
5945-
tsk_treeseq_t ts;
5946-
5947-
tsk_treeseq_from_text(&ts, 100, nonbinary_ex_nodes, nonbinary_ex_edges, NULL, NULL,
5948-
NULL, NULL, NULL, 0);
5949-
verify_tree_diffs(&ts, 0);
5950-
verify_tree_diffs(&ts, TSK_INCLUDE_TERMINAL);
5951-
5952-
ret = tsk_treeseq_free(&ts);
5953-
CU_ASSERT_EQUAL(ret, 0);
5954-
}
5955-
5956-
static void
5957-
test_unary_diff_iter(void)
5958-
{
5959-
int ret;
5960-
tsk_treeseq_t ts;
5961-
5962-
tsk_treeseq_from_text(
5963-
&ts, 10, unary_ex_nodes, unary_ex_edges, NULL, NULL, NULL, NULL, NULL, 0);
5964-
verify_tree_diffs(&ts, 0);
5965-
verify_tree_diffs(&ts, TSK_INCLUDE_TERMINAL);
5966-
5967-
ret = tsk_treeseq_free(&ts);
5968-
CU_ASSERT_EQUAL(ret, 0);
5969-
}
5970-
5971-
static void
5972-
test_internal_sample_diff_iter(void)
5973-
{
5974-
int ret;
5975-
tsk_treeseq_t ts;
5976-
5977-
tsk_treeseq_from_text(&ts, 10, internal_sample_ex_nodes, internal_sample_ex_edges,
5978-
NULL, NULL, NULL, NULL, NULL, 0);
5979-
verify_tree_diffs(&ts, 0);
5980-
verify_tree_diffs(&ts, TSK_INCLUDE_TERMINAL);
5981-
5982-
ret = tsk_treeseq_free(&ts);
5983-
CU_ASSERT_EQUAL(ret, 0);
5984-
}
5985-
59865827
static void
59875828
test_multiroot_mrca(void)
59885829
{
@@ -6012,36 +5853,6 @@ test_multiroot_mrca(void)
60125853
tsk_treeseq_free(&ts);
60135854
}
60145855

6015-
static void
6016-
test_multiroot_diff_iter(void)
6017-
{
6018-
int ret;
6019-
tsk_treeseq_t ts;
6020-
6021-
tsk_treeseq_from_text(&ts, 10, multiroot_ex_nodes, multiroot_ex_edges, NULL, NULL,
6022-
NULL, NULL, NULL, 0);
6023-
verify_tree_diffs(&ts, 0);
6024-
verify_tree_diffs(&ts, TSK_INCLUDE_TERMINAL);
6025-
6026-
ret = tsk_treeseq_free(&ts);
6027-
CU_ASSERT_EQUAL(ret, 0);
6028-
}
6029-
6030-
static void
6031-
test_empty_diff_iter(void)
6032-
{
6033-
int ret;
6034-
tsk_treeseq_t ts;
6035-
6036-
tsk_treeseq_from_text(
6037-
&ts, 10, empty_ex_nodes, empty_ex_edges, NULL, NULL, NULL, NULL, NULL, 0);
6038-
verify_tree_diffs(&ts, 0);
6039-
verify_tree_diffs(&ts, TSK_INCLUDE_TERMINAL);
6040-
6041-
ret = tsk_treeseq_free(&ts);
6042-
CU_ASSERT_EQUAL(ret, 0);
6043-
}
6044-
60455856
/*=======================================================
60465857
* Sample sets
60475858
*======================================================*/
@@ -8840,14 +8651,6 @@ main(int argc, char **argv)
88408651

88418652
/* multiroot tests */
88428653
{ "test_multiroot_mrca", test_multiroot_mrca },
8843-
{ "test_multiroot_diff_iter", test_multiroot_diff_iter },
8844-
8845-
/* Diff iter tests */
8846-
{ "test_simple_diff_iter", test_simple_diff_iter },
8847-
{ "test_nonbinary_diff_iter", test_nonbinary_diff_iter },
8848-
{ "test_unary_diff_iter", test_unary_diff_iter },
8849-
{ "test_internal_sample_diff_iter", test_internal_sample_diff_iter },
8850-
{ "test_empty_diff_iter", test_empty_diff_iter },
88518654

88528655
/* Sample sets */
88538656
{ "test_simple_sample_sets", test_simple_sample_sets },

0 commit comments

Comments
 (0)