-
Notifications
You must be signed in to change notification settings - Fork 194
Add distance_matrix to rustworkx-core #1439
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This commit moves the distance matrix functionality to rustworkx. This is mostly a straightforward migration as the functionality was written in a generic way already. The only difference is how node holes were handled, the this opted to split the functions into 2, a verison that assumes the graph has compact indices and one that doesn't.
This commit performs some optimizations on the internals of the distance_matrix() function. It avoids extra allocations and uses a fixedbitset for tracking instead of hashsets. Co-authored-by: Jake Lishman <[email protected]>
Pull Request Test Coverage Report for Build 16924127179Details
💛 - Coveralls |
@IvanIsCoding Since this is a new feature from a semver perspective I don't think we should include this in a 0.17.1 release. I'd either keep it for 0.17.0 (it is ready for review now) or defer it to 0.18.0. |
Let’s defer it to 0.18.0 then. I tagged it as 0.17.1 because for rustworkx it would not be a change. But for rustworkx-core it is I guess |
I might merge #1491 and use this PR as an excuse to release 0.17.1. There was a problem releasing 0.17.0 with the identifiers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems straightforward. Maybe we should have merged it for 0.17.0, so I will use it to publish 0.17.1 as 0.17.0 only got published to crates.io
@Mergifyio backport stable/0.17 |
✅ Backports have been created
|
* Add distance_matrix to rustworkx-core This commit moves the distance matrix functionality to rustworkx. This is mostly a straightforward migration as the functionality was written in a generic way already. The only difference is how node holes were handled, the this opted to split the functions into 2, a verison that assumes the graph has compact indices and one that doesn't. * Optimize the implementation of distance matrix This commit performs some optimizations on the internals of the distance_matrix() function. It avoids extra allocations and uses a fixedbitset for tracking instead of hashsets. Co-authored-by: Jake Lishman <[email protected]> * Deduplicate functions * Add release note * Remove stray debug print * Remove invalid classifier and capitalize keywords * Bump release version to 0.17.1 --------- Co-authored-by: Jake Lishman <[email protected]> Co-authored-by: Ivan Carvalho <[email protected]> Co-authored-by: Ivan Carvalho <[email protected]> (cherry picked from commit 7318a80)
* Add distance_matrix to rustworkx-core This commit moves the distance matrix functionality to rustworkx. This is mostly a straightforward migration as the functionality was written in a generic way already. The only difference is how node holes were handled, the this opted to split the functions into 2, a verison that assumes the graph has compact indices and one that doesn't. * Optimize the implementation of distance matrix This commit performs some optimizations on the internals of the distance_matrix() function. It avoids extra allocations and uses a fixedbitset for tracking instead of hashsets. * Deduplicate functions * Add release note * Remove stray debug print * Remove invalid classifier and capitalize keywords * Bump release version to 0.17.1 --------- (cherry picked from commit 7318a80) Co-authored-by: Matthew Treinish <[email protected]> Co-authored-by: Jake Lishman <[email protected]> Co-authored-by: Ivan Carvalho <[email protected]> Co-authored-by: Ivan Carvalho <[email protected]>
This commit moves the distance matrix functionality to rustworkx. This is mostly a straightforward migration as the functionality was written in a generic way already. The only difference is how node holes were handled, the this opted to split the functions into 2, a verison that assumes the graph has compact indices and one that doesn't.