These can both be accomplished efficiently using flow algebras (currently in src/streamquad.c:
This removes some internal duplication and reduces the surface area of the libtopotoolbox API.
These functions will need to be removed from their uses in pytopotoolbox, topotoolbox3 and topotoolboxr before being removed from libtopotoolbox.
See #164, #211, TopoToolbox/pytopotoolbox#367 for more discussion about this change and #210 (review) for more discussion about this design.
These can both be accomplished efficiently using flow algebras (currently in
src/streamquad.c:flow_accumulationistraverse_down_{f32, f64}_add_muldrainagebasinsispropagatevaluesupstream_i64ortraverse_up_u32_or_andThis removes some internal duplication and reduces the surface area of the libtopotoolbox API.
These functions will need to be removed from their uses in pytopotoolbox, topotoolbox3 and topotoolboxr before being removed from libtopotoolbox.
See #164, #211, TopoToolbox/pytopotoolbox#367 for more discussion about this change and #210 (review) for more discussion about this design.