Sign in

    alicedhaha/moonrcinspect/src/path does not have a README file

    PathDistance

    pub(all) struct PathDistance {
    source : String
    target : String
    reachable : Bool
    resistance : Double
    edge_count : Int
    } derive(
    Debug
    )

    PathHop

    pub(all) struct PathHop {
    node_id : Int
    node_name : String
    via_resistor_id : Int?
    edge_resistance : Double
    cumulative_resistance : Double
    } derive(
    Debug
    )

    PathMatrix

    pub(all) struct PathMatrix {
    status : PathStatus
    net_name : String
    nodes : Array[String]
    distances : Array[PathDistance]
    reachable_pair_count : Int
    unreachable_pair_count : Int
    diameter : PathDistance?
    } derive(
    Debug
    )

    PathMatrix::find

    fn PathMatrix::find(self : PathMatrix, first : String, second : String) -> PathDistance?

    PathResult

    pub(all) struct PathResult {
    status : PathStatus
    net_name : String
    source : String
    target : String
    hops : Array[PathHop]
    total_resistance : Double
    edge_count : Int
    } derive(
    Debug
    )

    PathResult::contains_node

    fn PathResult::contains_node(self : PathResult, name : String) -> Bool

    PathResult::node_names

    fn PathResult::node_names(self : PathResult) -> Array[String]

    PathResult::resistor_ids

    fn PathResult::resistor_ids(self : PathResult) -> Array[Int]

    PathStatus

    pub(all) enum PathStatus {
    Found
    EmptyNetwork
    UnknownSource
    UnknownTarget
    Unreachable
    InvalidResistance
    NoDriver
    MultipleDrivers
    } derive(Eq,
    Debug
    )

    PathStatus::label

    fn PathStatus::label(self : PathStatus) -> String

    ReachabilityResult

    pub(all) struct ReachabilityResult {
    status : PathStatus
    net_name : String
    source : String
    reachable : Array[ReachableNode]
    unreachable_nodes : Array[String]
    farthest : ReachableNode?
    } derive(
    Debug
    )

    ReachableNode

    pub(all) struct ReachableNode {
    node_id : Int
    node_name : String
    resistance : Double
    edge_count : Int
    } derive(
    Debug
    )

    SearchState

    type SearchState derive(
    Debug
    )

    critical_resistance_path

    fn critical_resistance_path(net :
    Net
    ) -> PathResult

    Finds the minimum-resistance route from the sole driver to the electrically farthest reachable local node.

    diameter_path

    minimum_hop_path

    fn minimum_hop_path(net :
    Net
    , source : String, target : String) -> PathResult

    Finds the path with the fewest resistor edges using breadth-first search.

    minimum_resistance_path

    fn minimum_resistance_path(net :
    Net
    , source : String, target : String) -> PathResult

    Finds the lowest-resistance path using Dijkstra's algorithm.

    Resistance values must be finite and non-negative. Ties are resolved by preferring fewer edges, then by the stable SPEF resistor order.

    resistance_matrix

    Computes unordered all-pairs minimum-resistance distances for local nodes. This uses one Dijkstra search per source and is intended for inspection and moderate-sized extracted nets rather than full-chip timing signoff.

    resistance_reachability

    fn resistance_reachability(net :
    Net
    , source : String) -> ReachabilityResult

    Returns minimum resistance and hop count from one source to every local node. Results are sorted by resistance and then by node name.

    Source Files

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io