diff --git a/c/CHANGELOG.rst b/c/CHANGELOG.rst index fc34056b07..a676135997 100644 --- a/c/CHANGELOG.rst +++ b/c/CHANGELOG.rst @@ -20,8 +20,11 @@ - Rename several flags: - All flags to ``simplify`` for example ``TSK_KEEP_INPUT_ROOTS`` becomes ``TSK_SIMPLIFY_KEEP_INPUT_ROOTS``. - All flags to ``subset`` for example ``TSK_KEEP_UNREFERENCED`` becomes ``TSK_SUBSET_KEEP_UNREFERENCED``. - - (:user:`benjeffery`, :issue:`1720`, :pr:`2226`, :pr:`2229`) + - ``TSK_BUILD_INDEXES`` -> ``TSK_TS_INIT_BUILD_INDEXES`` + - ``TSK_NO_METADATA`` -> ``TSK_TABLE_NO_METADATA`` + - ``TSK_NO_EDGE_METADATA`` -> ``TSK_TC_NO_EDGE_METADATA`` + + (:user:`benjeffery`, :issue:`1720`, :pr:`2226`, :pr:`2229`, :pr:`2224`) **Features** diff --git a/c/tests/test_genotypes.c b/c/tests/test_genotypes.c index 5c7f16e851..96b13a9c5b 100644 --- a/c/tests/test_genotypes.c +++ b/c/tests/test_genotypes.c @@ -756,7 +756,7 @@ test_single_tree_many_alleles(void) ret_id = tsk_mutation_table_add_row(&tables.mutations, 0, 0, j - 1, TSK_UNKNOWN_TIME, alleles, (tsk_size_t) j, NULL, 0); CU_ASSERT_FATAL(ret_id >= 0); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); ret = tsk_vargen_init(&vargen, &ts, NULL, 0, NULL, 0); diff --git a/c/tests/test_tables.c b/c/tests/test_tables.c index 8a5d297f1c..10f722fb6b 100644 --- a/c/tests/test_tables.c +++ b/c/tests/test_tables.c @@ -1496,7 +1496,7 @@ test_edge_table_with_options(tsk_flags_t options) CU_ASSERT_EQUAL_FATAL(ret, 0); for (j = 0; j < (tsk_id_t) num_rows; j++) { - if (options & TSK_NO_METADATA) { + if (options & TSK_TABLE_NO_METADATA) { ret_id = tsk_edge_table_add_row(&table, (double) j, (double) j, j, j, test_metadata, test_metadata_length); CU_ASSERT_EQUAL(ret_id, TSK_ERR_METADATA_DISABLED); @@ -1512,7 +1512,7 @@ test_edge_table_with_options(tsk_flags_t options) CU_ASSERT_EQUAL(table.parent[j], j); CU_ASSERT_EQUAL(table.child[j], j); CU_ASSERT_EQUAL(table.num_rows, (tsk_size_t) j + 1); - if (options & TSK_NO_METADATA) { + if (options & TSK_TABLE_NO_METADATA) { CU_ASSERT_EQUAL(table.metadata_length, 0); CU_ASSERT_EQUAL(table.metadata, NULL); CU_ASSERT_EQUAL(table.metadata_offset, NULL); @@ -1533,7 +1533,7 @@ test_edge_table_with_options(tsk_flags_t options) CU_ASSERT_EQUAL(edge.right, j); CU_ASSERT_EQUAL(edge.parent, j); CU_ASSERT_EQUAL(edge.child, j); - if (options & TSK_NO_METADATA) { + if (options & TSK_TABLE_NO_METADATA) { CU_ASSERT_EQUAL(edge.metadata_length, 0); CU_ASSERT_EQUAL(edge.metadata, NULL); } else { @@ -1568,7 +1568,7 @@ test_edge_table_with_options(tsk_flags_t options) for (j = 0; j < (tsk_id_t) num_rows + 1; j++) { metadata_offset[j] = (tsk_size_t) j; } - if (options & TSK_NO_METADATA) { + if (options & TSK_TABLE_NO_METADATA) { ret = tsk_edge_table_set_columns( &table, num_rows, left, right, parent, child, metadata, metadata_offset); CU_ASSERT_EQUAL(ret, TSK_ERR_METADATA_DISABLED); @@ -1583,7 +1583,7 @@ test_edge_table_with_options(tsk_flags_t options) CU_ASSERT_EQUAL(tsk_memcmp(table.right, right, num_rows * sizeof(double)), 0); CU_ASSERT_EQUAL(tsk_memcmp(table.parent, parent, num_rows * sizeof(tsk_id_t)), 0); CU_ASSERT_EQUAL(tsk_memcmp(table.child, child, num_rows * sizeof(tsk_id_t)), 0); - if (options & TSK_NO_METADATA) { + if (options & TSK_TABLE_NO_METADATA) { CU_ASSERT_EQUAL(table.metadata, NULL); CU_ASSERT_EQUAL(table.metadata_offset, NULL); CU_ASSERT_EQUAL(table.metadata_length, 0); @@ -1599,7 +1599,7 @@ test_edge_table_with_options(tsk_flags_t options) CU_ASSERT_EQUAL(table.num_rows, num_rows); /* Append another num_rows to the end. */ - if (options & TSK_NO_METADATA) { + if (options & TSK_TABLE_NO_METADATA) { ret = tsk_edge_table_append_columns( &table, num_rows, left, right, parent, child, metadata, metadata_offset); CU_ASSERT_EQUAL(ret, TSK_ERR_METADATA_DISABLED); @@ -1622,7 +1622,7 @@ test_edge_table_with_options(tsk_flags_t options) CU_ASSERT_EQUAL(tsk_memcmp(table.child, child, num_rows * sizeof(tsk_id_t)), 0); CU_ASSERT_EQUAL( tsk_memcmp(table.child + num_rows, child, num_rows * sizeof(tsk_id_t)), 0); - if (options & TSK_NO_METADATA) { + if (options & TSK_TABLE_NO_METADATA) { CU_ASSERT_EQUAL(table.metadata, NULL); CU_ASSERT_EQUAL(table.metadata_offset, NULL); CU_ASSERT_EQUAL(table.metadata_length, 0); @@ -1643,7 +1643,7 @@ test_edge_table_with_options(tsk_flags_t options) CU_ASSERT_EQUAL(tsk_memcmp(table.right, right, num_rows * sizeof(double)), 0); CU_ASSERT_EQUAL(tsk_memcmp(table.parent, parent, num_rows * sizeof(tsk_id_t)), 0); CU_ASSERT_EQUAL(tsk_memcmp(table.child, child, num_rows * sizeof(tsk_id_t)), 0); - if (options & TSK_NO_METADATA) { + if (options & TSK_TABLE_NO_METADATA) { CU_ASSERT_EQUAL(table.metadata, NULL); CU_ASSERT_EQUAL(table.metadata_offset, NULL); CU_ASSERT_EQUAL(table.metadata_length, 0); @@ -1664,7 +1664,7 @@ test_edge_table_with_options(tsk_flags_t options) tsk_edge_table_copy(&table, &table2, 0); CU_ASSERT_TRUE(tsk_edge_table_equals(&table, &table2, 0)); CU_ASSERT_TRUE(tsk_edge_table_equals(&table, &table2, TSK_CMP_IGNORE_METADATA)); - if (!(options & TSK_NO_METADATA)) { + if (!(options & TSK_TABLE_NO_METADATA)) { /* Change the metadata values */ table2.metadata[0] = 0; CU_ASSERT_FALSE(tsk_edge_table_equals(&table, &table2, 0)); @@ -1711,7 +1711,7 @@ test_edge_table_with_options(tsk_flags_t options) CU_ASSERT_EQUAL(tsk_memcmp(table.right, right, num_rows * sizeof(double)), 0); CU_ASSERT_EQUAL(tsk_memcmp(table.parent, parent, num_rows * sizeof(tsk_id_t)), 0); CU_ASSERT_EQUAL(tsk_memcmp(table.child, child, num_rows * sizeof(tsk_id_t)), 0); - if (options & TSK_NO_METADATA) { + if (options & TSK_TABLE_NO_METADATA) { CU_ASSERT_EQUAL(table.metadata, NULL); CU_ASSERT_EQUAL(table.metadata_offset, NULL); } else { @@ -1736,7 +1736,7 @@ test_edge_table_with_options(tsk_flags_t options) CU_ASSERT_EQUAL(tsk_memcmp(table.child, child, num_rows * sizeof(tsk_id_t)), 0); CU_ASSERT_EQUAL( tsk_memcmp(table.child + num_rows, child, num_rows * sizeof(tsk_id_t)), 0); - if (options & TSK_NO_METADATA) { + if (options & TSK_TABLE_NO_METADATA) { CU_ASSERT_EQUAL(table.metadata, NULL); CU_ASSERT_EQUAL(table.metadata_offset, NULL); } else { @@ -1778,7 +1778,7 @@ test_edge_table_with_options(tsk_flags_t options) CU_ASSERT_EQUAL_FATAL(ret, TSK_ERR_EDGE_OUT_OF_BOUNDS); /* Copy rows in order if index NULL */ - if (options & TSK_NO_METADATA) { + if (options & TSK_TABLE_NO_METADATA) { ret = tsk_edge_table_set_columns( &table2, num_rows, left, right, parent, child, NULL, NULL); } else { @@ -1804,7 +1804,7 @@ test_edge_table_with_options(tsk_flags_t options) ret = tsk_edge_table_truncate(&table2, num_rows / 2); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_TRUE(tsk_edge_table_equals(&table, &table2, 0)); - if (options & TSK_NO_METADATA) { + if (options & TSK_TABLE_NO_METADATA) { ret = tsk_edge_table_set_columns( &table2, num_rows, left, right, parent, child, NULL, NULL); } else { @@ -1880,7 +1880,7 @@ static void test_edge_table(void) { test_edge_table_with_options(0); - test_edge_table_with_options(TSK_NO_METADATA); + test_edge_table_with_options(TSK_TABLE_NO_METADATA); } static void @@ -1974,7 +1974,7 @@ test_edge_table_update_row_no_metadata(void) tsk_edge_t row; const char *metadata = "ABC"; - ret = tsk_edge_table_init(&table, TSK_NO_METADATA); + ret = tsk_edge_table_init(&table, TSK_TABLE_NO_METADATA); CU_ASSERT_EQUAL_FATAL(ret, 0); ret_id = tsk_edge_table_add_row(&table, 0, 1.0, 2, 3, NULL, 0); @@ -2036,7 +2036,7 @@ test_edge_table_takeset_with_options(tsk_flags_t table_options) ret = tsk_edge_table_init(&source_table, table_options); CU_ASSERT_EQUAL_FATAL(ret, 0); for (j = 0; j < (tsk_id_t) num_rows; j++) { - if (table_options & TSK_NO_METADATA) { + if (table_options & TSK_TABLE_NO_METADATA) { ret_id = tsk_edge_table_add_row( &source_table, (double) j, (double) j + 1, j + 2, j + 3, NULL, 0); @@ -2060,7 +2060,7 @@ test_edge_table_takeset_with_options(tsk_flags_t table_options) child = tsk_malloc(num_rows * sizeof(tsk_id_t)); CU_ASSERT_FATAL(child != NULL); tsk_memcpy(child, source_table.child, num_rows * sizeof(tsk_id_t)); - if (table_options & TSK_NO_METADATA) { + if (table_options & TSK_TABLE_NO_METADATA) { metadata = NULL; metadata_offset = NULL; test_metadata = NULL; @@ -2103,7 +2103,7 @@ test_edge_table_takeset_with_options(tsk_flags_t table_options) ret = tsk_edge_table_takeset_columns( &table, num_rows, left, right, parent, NULL, metadata, metadata_offset); CU_ASSERT_EQUAL(ret, TSK_ERR_BAD_PARAM_VALUE); - if (table_options & TSK_NO_METADATA) { + if (table_options & TSK_TABLE_NO_METADATA) { /* It isn't used, so any pointer does for testing that presence of metadata fails */ ret = tsk_edge_table_takeset_columns( @@ -2132,7 +2132,7 @@ test_edge_table_takeset_with_options(tsk_flags_t table_options) static void test_edge_table_takeset(void) { - test_edge_table_takeset_with_options(TSK_NO_METADATA); + test_edge_table_takeset_with_options(TSK_TABLE_NO_METADATA); test_edge_table_takeset_with_options(0); } @@ -2157,7 +2157,7 @@ test_edge_table_copy_semantics(void) tsk_table_collection_free(&t2); /* We should not be able to copy into a table with no metadata */ - ret = tsk_table_collection_copy(&t1, &t2, TSK_NO_EDGE_METADATA); + ret = tsk_table_collection_copy(&t1, &t2, TSK_TC_NO_EDGE_METADATA); CU_ASSERT_EQUAL_FATAL(ret, TSK_ERR_METADATA_DISABLED); tsk_table_collection_free(&t2); @@ -2172,7 +2172,7 @@ test_edge_table_copy_semantics(void) CU_ASSERT_TRUE(tsk_table_collection_equals(&t1, &t2, 0)); tsk_table_collection_free(&t2); - ret = tsk_table_collection_copy(&t1, &t2, TSK_NO_EDGE_METADATA); + ret = tsk_table_collection_copy(&t1, &t2, TSK_TC_NO_EDGE_METADATA); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_TRUE(tsk_table_collection_equals(&t1, &t2, 0)); tsk_table_collection_free(&t2); @@ -2332,7 +2332,7 @@ test_edge_table_squash_bad_intervals(void) const char *edges_ex = "0 0.6 1 0\n" "0.4 1 1 0\n"; - ret = tsk_table_collection_init(&tables, TSK_NO_EDGE_METADATA); + ret = tsk_table_collection_init(&tables, TSK_TC_NO_EDGE_METADATA); CU_ASSERT_EQUAL_FATAL(ret, 0); tables.sequence_length = 1; @@ -2366,7 +2366,7 @@ test_edge_table_squash_metadata(void) tsk_table_collection_free(&tables); - ret = tsk_table_collection_init(&tables, TSK_NO_EDGE_METADATA); + ret = tsk_table_collection_init(&tables, TSK_TC_NO_EDGE_METADATA); CU_ASSERT_EQUAL_FATAL(ret, 0); tables.sequence_length = 10; ret_id = tsk_edge_table_add_row(&tables.edges, 0, 0, 1, 1, NULL, 0); @@ -7726,7 +7726,7 @@ static void test_sort_tables_drops_indexes(void) { test_sort_tables_drops_indexes_with_options(0); - test_sort_tables_drops_indexes_with_options(TSK_NO_EDGE_METADATA); + test_sort_tables_drops_indexes_with_options(TSK_TC_NO_EDGE_METADATA); } static void @@ -7764,12 +7764,12 @@ test_sort_tables_no_edge_metadata(void) tsk_treeseq_from_text(&ts, 1, single_tree_ex_nodes, single_tree_ex_edges, NULL, NULL, NULL, NULL, NULL, 0); - ret = tsk_treeseq_copy_tables(&ts, &t1, TSK_NO_EDGE_METADATA); + ret = tsk_treeseq_copy_tables(&ts, &t1, TSK_TC_NO_EDGE_METADATA); CU_ASSERT_EQUAL_FATAL(ret, 0); - CU_ASSERT_FATAL(t1.edges.options & TSK_NO_EDGE_METADATA); + CU_ASSERT_FATAL(t1.edges.options & TSK_TABLE_NO_METADATA); ret = tsk_table_collection_copy(&t1, &t2, 0); CU_ASSERT_EQUAL_FATAL(ret, 0); - CU_ASSERT_FALSE(t2.edges.options & TSK_NO_EDGE_METADATA); + CU_ASSERT_FALSE(t2.edges.options & TSK_TABLE_NO_METADATA); CU_ASSERT_TRUE(tsk_table_collection_equals(&t1, &t2, 0)); reverse_edges(&t1); CU_ASSERT_FALSE(tsk_table_collection_equals(&t1, &t2, 0)); @@ -7778,10 +7778,10 @@ test_sort_tables_no_edge_metadata(void) CU_ASSERT_TRUE(tsk_table_collection_equals(&t1, &t2, 0)); tsk_table_collection_free(&t2); - ret = tsk_table_collection_copy(&t1, &t2, TSK_NO_EDGE_METADATA); + ret = tsk_table_collection_copy(&t1, &t2, TSK_TC_NO_EDGE_METADATA); CU_ASSERT_EQUAL_FATAL(ret, 0); - CU_ASSERT_TRUE(t1.edges.options & TSK_NO_EDGE_METADATA); - CU_ASSERT_TRUE(t2.edges.options & TSK_NO_EDGE_METADATA); + CU_ASSERT_TRUE(t1.edges.options & TSK_TABLE_NO_METADATA); + CU_ASSERT_TRUE(t2.edges.options & TSK_TABLE_NO_METADATA); CU_ASSERT_TRUE(tsk_table_collection_equals(&t1, &t2, 0)); reverse_edges(&t1); CU_ASSERT_FALSE(tsk_table_collection_equals(&t1, &t2, 0)); @@ -8359,7 +8359,7 @@ static void test_dump_unindexed(void) { test_dump_unindexed_with_options(0); - test_dump_unindexed_with_options(TSK_NO_EDGE_METADATA); + test_dump_unindexed_with_options(TSK_TC_NO_EDGE_METADATA); } static void @@ -8385,7 +8385,7 @@ static void test_dump_load_empty(void) { test_dump_load_empty_with_options(0); - test_dump_load_empty_with_options(TSK_NO_EDGE_METADATA); + test_dump_load_empty_with_options(TSK_TC_NO_EDGE_METADATA); } static void @@ -8445,7 +8445,7 @@ static void test_dump_load_unsorted(void) { test_dump_load_unsorted_with_options(0); - test_dump_load_unsorted_with_options(TSK_NO_EDGE_METADATA); + test_dump_load_unsorted_with_options(TSK_TC_NO_EDGE_METADATA); } static void @@ -9323,7 +9323,7 @@ static void test_table_collection_check_integrity(void) { test_table_collection_check_integrity_with_options(0); - test_table_collection_check_integrity_with_options(TSK_NO_EDGE_METADATA); + test_table_collection_check_integrity_with_options(TSK_TC_NO_EDGE_METADATA); } static void @@ -9500,7 +9500,7 @@ static void test_table_collection_subset(void) { test_table_collection_subset_with_options(0); - test_table_collection_subset_with_options(TSK_NO_EDGE_METADATA); + test_table_collection_subset_with_options(TSK_TC_NO_EDGE_METADATA); } static void diff --git a/c/tests/test_trees.c b/c/tests/test_trees.c index fc44b8f4a9..50b620bafa 100644 --- a/c/tests/test_trees.c +++ b/c/tests/test_trees.c @@ -942,26 +942,26 @@ test_simplest_discrete_genome(void) tsk_treeseq_free(&ts); tables.sequence_length = 1.001; - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_FALSE(tsk_treeseq_get_discrete_genome(&ts)); tsk_treeseq_free(&ts); tables.sequence_length = 1; - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_TRUE(tsk_treeseq_get_discrete_genome(&ts)); tsk_treeseq_free(&ts); tables.edges.right[0] = 0.999; - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_FALSE(tsk_treeseq_get_discrete_genome(&ts)); tsk_treeseq_free(&ts); tables.edges.right[0] = 1.0; tables.edges.left[0] = 0.999; - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_FALSE(tsk_treeseq_get_discrete_genome(&ts)); tsk_treeseq_free(&ts); @@ -969,14 +969,14 @@ test_simplest_discrete_genome(void) ret_id = tsk_site_table_add_row(&tables.sites, 0, "A", 1, NULL, 0); CU_ASSERT_EQUAL_FATAL(ret_id, 0); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_TRUE(tsk_treeseq_get_discrete_genome(&ts)); tsk_treeseq_free(&ts); tables.sites.position[0] = 0.001; CU_ASSERT_EQUAL_FATAL(ret, 0); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_FALSE(tsk_treeseq_get_discrete_genome(&ts)); tsk_treeseq_free(&ts); @@ -989,14 +989,14 @@ test_simplest_discrete_genome(void) ret_id = tsk_migration_table_add_row(&tables.migrations, 0, 1, 0, 0, 1, 1.0, NULL, 0); CU_ASSERT_EQUAL_FATAL(ret_id, 0); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_TRUE(tsk_treeseq_get_discrete_genome(&ts)); tsk_treeseq_free(&ts); tables.migrations.left[0] = 0.001; CU_ASSERT_EQUAL_FATAL(ret, 0); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_FALSE(tsk_treeseq_get_discrete_genome(&ts)); tsk_treeseq_free(&ts); @@ -1004,7 +1004,7 @@ test_simplest_discrete_genome(void) tables.migrations.right[0] = 0.999; CU_ASSERT_EQUAL_FATAL(ret, 0); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_FALSE(tsk_treeseq_get_discrete_genome(&ts)); tsk_treeseq_free(&ts); @@ -1012,7 +1012,7 @@ test_simplest_discrete_genome(void) /* An empty tree sequence is has a discrete genome. */ tsk_table_collection_clear(&tables, 0); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_TRUE(tsk_treeseq_get_discrete_genome(&ts)); tsk_treeseq_free(&ts); @@ -1050,27 +1050,27 @@ test_simplest_discrete_time(void) CU_ASSERT_EQUAL_FATAL(ret, 0); tsk_treeseq_free(&ts); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_TRUE(tsk_treeseq_get_discrete_time(&ts)); tsk_treeseq_free(&ts); tables.nodes.time[0] = 0.0001; - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_FALSE(tsk_treeseq_get_discrete_time(&ts)); tsk_treeseq_free(&ts); tables.nodes.time[0] = 0; tables.mutations.time[0] = 0.001; - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_FALSE(tsk_treeseq_get_discrete_time(&ts)); tsk_treeseq_free(&ts); tables.mutations.time[0] = 0; tables.migrations.time[0] = 0.001; - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_FALSE(tsk_treeseq_get_discrete_time(&ts)); tsk_treeseq_free(&ts); @@ -1080,14 +1080,14 @@ test_simplest_discrete_time(void) tables.mutations.time[1] = TSK_UNKNOWN_TIME; tables.mutations.time[2] = TSK_UNKNOWN_TIME; tables.mutations.time[3] = TSK_UNKNOWN_TIME; - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_TRUE(tsk_treeseq_get_discrete_time(&ts)); tsk_treeseq_free(&ts); /* An empty tree sequence is has a discrete time. */ tsk_table_collection_clear(&tables, 0); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_TRUE(tsk_treeseq_get_discrete_time(&ts)); tsk_treeseq_free(&ts); @@ -1580,7 +1580,7 @@ test_simplest_tree_mrca(void) &tables.nodes, TSK_NODE_IS_SAMPLE, 0.0, TSK_NULL, TSK_NULL, NULL, 0); CU_ASSERT_EQUAL_FATAL(ret_id, 0); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_EQUAL(tsk_treeseq_get_num_samples(&ts), 1); CU_ASSERT_EQUAL(tsk_treeseq_get_sequence_length(&ts), 1.0); @@ -2092,7 +2092,7 @@ test_simplest_individuals(void) tsk_treeseq_t ts; tsk_node_t node; tsk_individual_t individual; - tsk_flags_t load_flags = TSK_BUILD_INDEXES; + tsk_flags_t load_flags = TSK_TS_INIT_BUILD_INDEXES; int ret; tsk_id_t pat_id, mat_id; @@ -2106,7 +2106,7 @@ test_simplest_individuals(void) parse_nodes(nodes, &tables.nodes); CU_ASSERT_EQUAL_FATAL(tables.nodes.num_rows, 6); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); ret = tsk_treeseq_get_node(&ts, 0, &node); @@ -2189,7 +2189,7 @@ test_simplest_bad_individuals(void) "2 0.5,0.25 0\n"; tsk_treeseq_t ts; tsk_table_collection_t tables; - tsk_flags_t load_flags = TSK_BUILD_INDEXES; + tsk_flags_t load_flags = TSK_TS_INIT_BUILD_INDEXES; tsk_id_t ret_id; int ret; @@ -2283,7 +2283,7 @@ test_simplest_bad_edges(void) tsk_table_collection_t tables; int ret; tsk_id_t ret_id; - tsk_flags_t load_flags = TSK_BUILD_INDEXES; + tsk_flags_t load_flags = TSK_TS_INIT_BUILD_INDEXES; ret = tsk_table_collection_init(&tables, 0); CU_ASSERT_EQUAL_FATAL(ret, 0); @@ -2679,7 +2679,7 @@ test_simplest_overlapping_parents(void) tsk_table_collection_t tables; tsk_tree_t tree; int ret; - tsk_flags_t load_flags = TSK_BUILD_INDEXES; + tsk_flags_t load_flags = TSK_TS_INIT_BUILD_INDEXES; ret = tsk_table_collection_init(&tables, 0); CU_ASSERT_EQUAL_FATAL(ret, 0); @@ -2725,7 +2725,7 @@ test_simplest_contradictory_children(void) tsk_treeseq_t ts; tsk_table_collection_t tables; int ret; - tsk_flags_t load_flags = TSK_BUILD_INDEXES; + tsk_flags_t load_flags = TSK_TS_INIT_BUILD_INDEXES; ret = tsk_table_collection_init(&tables, 0); CU_ASSERT_EQUAL_FATAL(ret, 0); @@ -3489,7 +3489,7 @@ test_single_tree_bad_records(void) int ret = 0; tsk_treeseq_t ts; tsk_table_collection_t tables; - tsk_flags_t load_flags = TSK_BUILD_INDEXES; + tsk_flags_t load_flags = TSK_TS_INIT_BUILD_INDEXES; ret = tsk_table_collection_init(&tables, 0); CU_ASSERT_EQUAL_FATAL(ret, 0); @@ -3608,7 +3608,7 @@ test_single_tree_bad_mutations(void) "2 2 1 -1 0\n"; tsk_treeseq_t ts; tsk_table_collection_t tables; - tsk_flags_t load_flags = TSK_BUILD_INDEXES; + tsk_flags_t load_flags = TSK_TS_INIT_BUILD_INDEXES; ret = tsk_table_collection_init(&tables, 0); CU_ASSERT_EQUAL_FATAL(ret, 0); @@ -5069,7 +5069,7 @@ test_tsk_treeseq_bad_records(void) 7, 5, 4, 4, 5, 7, TSK_NULL, TSK_NULL, TSK_NULL, }; // clang-format on - tsk_flags_t load_flags = TSK_BUILD_INDEXES; + tsk_flags_t load_flags = TSK_TS_INIT_BUILD_INDEXES; ret = tsk_table_collection_init(&tables, 0); CU_ASSERT_EQUAL_FATAL(ret, 0); @@ -5874,11 +5874,11 @@ test_empty_tree_kc(void) ret = tsk_table_collection_init(&tables, 0); CU_ASSERT_EQUAL_FATAL(ret, 0); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, TSK_ERR_BAD_SEQUENCE_LENGTH); tsk_treeseq_free(&ts); tables.sequence_length = 1.0; - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); verify_empty_tree_sequence(&ts, 1.0); @@ -6743,11 +6743,11 @@ test_empty_tree_sequence(void) ret = tsk_table_collection_init(&tables, 0); CU_ASSERT_EQUAL_FATAL(ret, 0); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, TSK_ERR_BAD_SEQUENCE_LENGTH); tsk_treeseq_free(&ts); tables.sequence_length = 1.0; - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); verify_empty_tree_sequence(&ts, 1.0); @@ -6937,7 +6937,7 @@ test_time_uncalibrated(void) CU_ASSERT_EQUAL_FATAL(ret, 0); tables.sequence_length = 1; - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_EQUAL_FATAL(ts.time_uncalibrated, false); tsk_treeseq_free(&ts); @@ -6945,7 +6945,7 @@ test_time_uncalibrated(void) ret = tsk_table_collection_set_time_units( &tables, TSK_TIME_UNITS_UNCALIBRATED, strlen(TSK_TIME_UNITS_UNCALIBRATED)); CU_ASSERT_EQUAL_FATAL(ret, 0); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_EQUAL_FATAL(ts.time_uncalibrated, true); tsk_treeseq_free(&ts); @@ -7003,14 +7003,14 @@ test_reference_sequence(void) CU_ASSERT_EQUAL_FATAL(ret, 0); tables.sequence_length = 1; - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_FALSE(tsk_treeseq_has_reference_sequence(&ts)); tsk_treeseq_free(&ts); ret = tsk_reference_sequence_set_data(&tables.reference_sequence, "abc", 3); CU_ASSERT_EQUAL_FATAL(ret, 0); - ret = tsk_treeseq_init(&ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(&ts, &tables, TSK_TS_INIT_BUILD_INDEXES); CU_ASSERT_EQUAL_FATAL(ret, 0); CU_ASSERT_TRUE(tsk_treeseq_has_reference_sequence(&ts)); tsk_treeseq_free(&ts); diff --git a/c/tests/testlib.c b/c/tests/testlib.c index ba8008f3a8..823068d136 100644 --- a/c/tests/testlib.c +++ b/c/tests/testlib.c @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2019-2021 Tskit Developers + * Copyright (c) 2019-2022 Tskit Developers * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -782,7 +782,7 @@ tsk_treeseq_from_text(tsk_treeseq_t *ts, double sequence_length, const char *nod } } - ret = tsk_treeseq_init(ts, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(ts, &tables, TSK_TS_INIT_BUILD_INDEXES); /* tsk_treeseq_print_state(ts, stdout); */ /* printf("ret = %s\n", tsk_strerror(ret)); */ CU_ASSERT_EQUAL_FATAL(ret, 0); diff --git a/c/tskit/tables.c b/c/tskit/tables.c index 0cda66dbb5..5fb3c1fe38 100644 --- a/c/tskit/tables.c +++ b/c/tskit/tables.c @@ -2370,7 +2370,7 @@ tsk_edge_table_free(tsk_edge_table_t *self) static int tsk_edge_table_has_metadata(const tsk_edge_table_t *self) { - return !(self->options & TSK_NO_METADATA); + return !(self->options & TSK_TABLE_NO_METADATA); } static int @@ -2601,8 +2601,8 @@ tsk_edge_table_copy( } } - /* We can't use TSK_NO_METADATA in dest if metadata_length is non-zero. - * This also captures the case where TSK_NO_METADATA is set on this table. + /* We can't use TSK_TABLE_NO_METADATA in dest if metadata_length is non-zero. + * This also captures the case where TSK_TABLE_NO_METADATA is set on this table. */ if (self->metadata_length > 0 && !tsk_edge_table_has_metadata(dest)) { ret = TSK_ERR_METADATA_DISABLED; @@ -10457,8 +10457,8 @@ tsk_table_collection_init(tsk_table_collection_t *self, tsk_flags_t options) tsk_flags_t edge_options = 0; tsk_memset(self, 0, sizeof(*self)); - if (options & TSK_NO_EDGE_METADATA) { - edge_options |= TSK_NO_METADATA; + if (options & TSK_TC_NO_EDGE_METADATA) { + edge_options |= TSK_TABLE_NO_METADATA; } /* Set default time_units value */ diff --git a/c/tskit/tables.h b/c/tskit/tables.h index 716df8b268..e73bba9855 100644 --- a/c/tskit/tables.h +++ b/c/tskit/tables.h @@ -697,28 +697,21 @@ typedef struct { /* Leave room for more positive check flags */ #define TSK_NO_CHECK_POPULATION_REFS (1 << 12) -/* Flags for load tables */ -#define TSK_BUILD_INDEXES (1 << 0) +/* These flags are for table collection load or init, or used as + flags on table collection or individual tables. + * As flags are passed though from load to init they share a namespace */ +#define TSK_LOAD_SKIP_TABLES (1 << 0) +#define TSK_LOAD_SKIP_REFERENCE_SEQUENCE (1 << 1) +#define TSK_TABLE_NO_METADATA (1 << 2) +#define TSK_TC_NO_EDGE_METADATA (1 << 3) /* Flags for dump tables */ /* We may not want to document this flag, but it's useful for testing * so we put it high up in the bit space, below the common options */ #define TSK_DUMP_FORCE_OFFSET_64 (1 << 27) -/* Flags for table collection init/copy */ -/* TODO: need to careful about what flags get passed to init, from other - * functions. Review as part of #1720 */ -#define TSK_NO_EDGE_METADATA (1 << 0) -#define TSK_COPY_FILE_UUID (1 << 1) - -/* Flags for table collection load */ -/* This shares an interface with table collection init. - TODO: review as part of #1720 */ -#define TSK_LOAD_SKIP_TABLES (1 << 1) -#define TSK_LOAD_SKIP_REFERENCE_SEQUENCE (1 << 2) - -/* Flags for table init. */ -#define TSK_NO_METADATA (1 << 0) +/* Flags for table collection copy */ +#define TSK_COPY_FILE_UUID (1 << 0) /* Flags for union() */ #define TSK_UNION_NO_CHECK_SHARED (1 << 0) @@ -1439,7 +1432,7 @@ are initialised and freed. Options can be specified by providing one or more of the following bitwise flags: -TSK_NO_METADATA +TSK_TABLE_NO_METADATA Do not allocate space to store metadata in this table. Operations attempting to add non-empty metadata to the table will fail with error TSK_ERR_METADATA_DISABLED. @@ -3377,7 +3370,7 @@ are initialised and freed. Options can be specified by providing one or more of the following bitwise flags: -TSK_NO_EDGE_METADATA +TSK_TC_NO_EDGE_METADATA Do not allocate space to store metadata in the edge table. Operations attempting to add non-empty metadata to the edge table will fail with error TSK_ERR_METADATA_DISABLED. diff --git a/c/tskit/trees.c b/c/tskit/trees.c index f5d93d2670..58d1c1986b 100644 --- a/c/tskit/trees.c +++ b/c/tskit/trees.c @@ -389,7 +389,7 @@ tsk_treeseq_init_nodes(tsk_treeseq_t *self) } /* TODO we need flags to be able to control how the input table is used. - * - The default behaviour is to take a copy. TSK_BUILD_INDEXES is allowed + * - The default behaviour is to take a copy. TSK_TS_INIT_BUILD_INDEXES is allowed * in this case because we have an independent copy. * - Need an option to take 'ownership' of the tables so that we keep the * tables and free them at the end of the treeseq's lifetime. This will be @@ -415,7 +415,7 @@ tsk_treeseq_init( } /* Note that this copy reinstates metadata for a table collection with - * TSK_NO_EDGE_METADATA. Otherwise a table without metadata would + * TSK_TC_NO_EDGE_METADATA. Otherwise a table without metadata would * crash tsk_diff_iter_next. This is something we will need to * watch out for when we take a read-only view of the input table * rather than a copy. */ @@ -424,7 +424,7 @@ tsk_treeseq_init( goto out; } } - if (options & TSK_BUILD_INDEXES) { + if (options & TSK_TS_INIT_BUILD_INDEXES) { ret = tsk_table_collection_build_index(self->tables, 0); if (ret != 0) { goto out; @@ -3216,7 +3216,7 @@ tsk_treeseq_simplify(const tsk_treeseq_t *self, const tsk_id_t *samples, if (ret != 0) { goto out; } - ret = tsk_treeseq_init(output, &tables, TSK_BUILD_INDEXES); + ret = tsk_treeseq_init(output, &tables, TSK_TS_INIT_BUILD_INDEXES); out: tsk_table_collection_free(&tables); return ret; diff --git a/c/tskit/trees.h b/c/tskit/trees.h index fcb7f84017..15bc587cef 100644 --- a/c/tskit/trees.h +++ b/c/tskit/trees.h @@ -61,6 +61,10 @@ extern "C" { /* For the edge diff iterator */ #define TSK_INCLUDE_TERMINAL (1 << 0) + +/* Tree sequence init flags */ +#define TSK_TS_INIT_BUILD_INDEXES (1 << 0) + // clang-format on /** diff --git a/python/_tskitmodule.c b/python/_tskitmodule.c index f44631f620..fd699b971b 100644 --- a/python/_tskitmodule.c +++ b/python/_tskitmodule.c @@ -7662,7 +7662,7 @@ TreeSequence_load_tables(TreeSequence *self, PyObject *args, PyObject *kwds) goto out; } if (build_indexes) { - options |= TSK_BUILD_INDEXES; + options |= TSK_TS_INIT_BUILD_INDEXES; } err = tsk_treeseq_init(self->tree_sequence, tables->tables, options); if (err != 0) {