WEICZ20/moonbit-computer-interlocking/src/conflict does not have a README file

    HostileMatrix

    pub(all) struct HostileMatrix {
    matrix : Map[Int, RouteBitSet]
    max_routes : Int
    } derive(
    Debug
    )

    HostileMatrix::build_from_interlocking_table

    HostileMatrix::build_topological_conflict_table

    HostileMatrix::is_conflict_with_active_mask

    fn HostileMatrix::is_conflict_with_active_mask(self : HostileMatrix, r_id :
    RouteId
    , active_mask : RouteBitSet) -> Bool

    HostileMatrix::new

    fn HostileMatrix::new(max_routes : Int) -> HostileMatrix

    RouteBitSet

    pub(all) struct RouteBitSet {
    w0 : UInt
    w1 : UInt
    w2 : UInt
    w3 : UInt
    w4 : UInt
    w5 : UInt
    w6 : UInt
    w7 : UInt
    } derive(Eq,
    Debug
    )

    RouteBitSet::clear

    fn RouteBitSet::clear(self : RouteBitSet, bit : Int) -> Unit

    RouteBitSet::count_ones

    fn RouteBitSet::count_ones(self : RouteBitSet) -> Int

    RouteBitSet::empty

    fn RouteBitSet::empty() -> RouteBitSet

    RouteBitSet::get

    fn RouteBitSet::get(self : RouteBitSet, bit : Int) -> Bool

    RouteBitSet::intersects

    fn RouteBitSet::intersects(self : RouteBitSet, other : RouteBitSet) -> Bool

    RouteBitSet::is_empty

    fn RouteBitSet::is_empty(self : RouteBitSet) -> Bool

    RouteBitSet::set

    fn RouteBitSet::set(self : RouteBitSet, bit : Int) -> Unit

    RouteBitSet::union_with

    fn RouteBitSet::union_with(self : RouteBitSet, other : RouteBitSet) -> Unit

    TopologyConflictDetail

    pub(all) struct TopologyConflictDetail {
    conflict_type : String
    route_a :
    RouteId

    route_b :
    RouteId

    conflicting_element : String
    } derive(
    Debug
    )