Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions RcppTskit/NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,28 @@ and releases adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html
- Added `rtsk_mutation_table_add_row()` and
`TableCollection$mutation_table_add_row()` to append mutation rows from
\code{R}, mirroring `tsk_mutation_table_add_row()`.
- Added `rtsk_population_table_add_row()` and
`TableCollection$population_table_add_row()` to append population rows from
\code{R}, mirroring `tsk_population_table_add_row()`.
- Added `rtsk_migration_table_add_row()` and
`TableCollection$migration_table_add_row()` to append migration rows from
\code{R}, mirroring `tsk_migration_table_add_row()`.
- Added `rtsk_provenance_table_add_row()` and
`TableCollection$provenance_table_add_row()` to append provenance rows from
\code{R}, mirroring `tsk_provenance_table_add_row()`.
- Added `rtsk_node_table_get_row()` and `TableCollection$node_table_get_row()`
to retrieve node-table rows by 0-based row index.
- Added `rtsk_table_collection_sort()` and `TableCollection$sort()` to sort
table collections with 0-based `edge_start`, `site_start`, and
`mutation_start` semantics.
- Added low-level variant iterators
(`rtsk_variant_iterator_init()`/`rtsk_variant_iterator_next()`) and a
user-facing `TreeSequence$variants()` method to iterate over decoded
site-by-site variants from \code{R}, aligned with `tskit` Python API
semantics for `samples`, `isolated_as_missing`, `alleles`, and
`left`/`right` intervals.
- Added `rtsk_treeseq_get_samples()` and `TreeSequence$samples()` to retrieve
sample node IDs from a tree sequence.
- TODO

### Changed
Expand All @@ -53,6 +75,21 @@ and releases adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html
`pointer` to `xptr`.
- Ensured `TableCollection$tree_sequence()` matches `tskit Python` API:
it now builds indexes on the `TableCollection`, if indexes are not present.
- Expanded `TableCollection$*_table_get_row()` documentation with runnable
examples, Python `__getitem__` references, and explicit note that numeric
row indices are validated and converted to 32-bit integers.
- Aligned low-level row getters with `tskit C` caveats by returning
`mutations = NULL` for `rtsk_site_table_get_row()`, exposing `edge` and
`inherited_state` (as `NULL` for table access) in
`rtsk_mutation_table_get_row()`, and exposing `nodes` in
`rtsk_individual_table_get_row()`.
- Kept high-level `TableCollection$individual_table_get_row()`,
`TableCollection$site_table_get_row()`, and
`TableCollection$mutation_table_get_row()` aligned with `tskit Python`
row-shape semantics.
- Refined integer validators to use a single 32-bit integer-like validation
path with explicit `strict` handling for integer-only versus numeric-allowed
inputs across scalar and optional vector arguments.
- We now use `bit64::integer64` (signed 64 bit integer) instead of `int` aiming
to approach `tsk_size_t` in `tskit C` (unsigned 64 bit integer); in low-level
`rtsk_treeseq_get_num_*()` wrappers and count/metadata-length fields.
Expand Down
Loading
Loading