Skip to content
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

Add steiner tree functionality to rustworkx-core #1103

Merged
merged 14 commits into from
Mar 4, 2024

Commits on Feb 21, 2024

  1. Implement deduplicate edge

    yoshida-ryuhei authored and mtreinish committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    65043eb View commit details
    Browse the repository at this point in the history
  2. Move MetricClousureEdge

    yoshida-ryuhei authored and mtreinish committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    a718ee0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2ba4b1d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1ee9fc6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    df973f3 View commit details
    Browse the repository at this point in the history
  6. Add definition of steiner_tree

    yoshida-ryuhei authored and mtreinish committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    86fdc60 View commit details
    Browse the repository at this point in the history
  7. Add mod steiner_tree to lib.rs

    yoshida-ryuhei authored and mtreinish committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    ad114be View commit details
    Browse the repository at this point in the history
  8. Add necessary crate

    yoshida-ryuhei authored and mtreinish committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    5790bc3 View commit details
    Browse the repository at this point in the history
  9. correct type

    yoshida-ryuhei authored and mtreinish committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    162a9fa View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    f1e5457 View commit details
    Browse the repository at this point in the history
  11. Update steiner_tree

    yoshida-ryuhei authored and mtreinish committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    54d2d0e View commit details
    Browse the repository at this point in the history
  12. Finish rustworkx-core port

    This commit finishes the rustworkx-core port of the steiner tree and
    metric closure functions. In particular this was especially tricky
    because the petgraph traits make it exceedingly difficult to have a
    generic function that takes in a graph for analysis and modifies it as
    most of the traits required for visiting/iteration that are used for
    analysis are only defined on borrowed graphs, and the limited traits for
    modifying graphs are defined on owned graph types. This causes a
    conflict where you can't easily express that a generic type G created in
    a function from a user input is both mutated using a trait and analyzed
    as there is a type mismatch between G and &G. After spending far too
    long to fail to find a pattern to express this, I opted to just use a
    discrete type for the return and leave the actual graph mutation up to
    the rustworkx-core user because we're lacking the ability to cleanly
    express what is needed via petgraph.
    mtreinish committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    9ccdca1 View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2024

  1. Configuration menu
    Copy the full SHA
    bca5c3e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    17d04d1 View commit details
    Browse the repository at this point in the history