- Speed ups via additional more targeted reachability algorithms
that only walk the walks necessary to establish the node properties in question
(instead of running the most general reachability algorithm and ignoring some of its outputs).
- Speed up `oset_aid`, which loops over T and Y,
via stopping the reachability algorithm `get_invalidly_un_blocked` early,
if the Y in question is already established to be invalidly un-blocked.
- Enable users to set the number of parallel threads via `RAYON_NUM_THREADS`
and use the number of physical cores per default.
- Change the api so users have to specify `edge_direction`;
this is to safeguard against common bugs when integrating 𝚐𝚊𝚍𝚓𝚒𝚍 into existing codebases
where the adjacency matrix (or its transpose)
may code edges from row to column (or from column to row).
- Improve and extend tests and add insta snapshot testing.
- Cargo update and migration to pyo3 v0.21.
- Overall, improve code, documentation, and comment clarity;
for example, rearrange and harmonise the reachability algorithms for improved readability and clarity
and simplify the logic for counting mistakes in the three adjustment distances.