Use i64 instead of f64 for WheightedGraph
This commit is contained in:
parent
068297e2c2
commit
6f74f1345e
6 changed files with 52 additions and 52 deletions
|
|
@ -11,7 +11,7 @@ use super::*;
|
|||
|
||||
#[derive(Debug)]
|
||||
struct PowerGraph {
|
||||
nodes: HashMap<(Position, ElectricPoleType), (Vec<(Position, ElectricPoleType)>, f64)>,
|
||||
nodes: HashMap<(Position, ElectricPoleType), (Vec<(Position, ElectricPoleType)>, i64)>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)]
|
||||
|
|
@ -30,7 +30,7 @@ struct Node {
|
|||
impl WheightedGraph for PowerGraph {
|
||||
type Node = Node;
|
||||
|
||||
fn edge(&self, node: &Self::Node, num: usize) -> Option<(Self::Node, f64)> {
|
||||
fn edge(&self, node: &Self::Node, num: usize) -> Option<(Self::Node, i64)> {
|
||||
match node.node_type {
|
||||
NodeType::In => {
|
||||
if num == 0 {
|
||||
|
|
@ -61,7 +61,7 @@ impl WheightedGraph for PowerGraph {
|
|||
electric_pole_type,
|
||||
node_type: NodeType::In,
|
||||
},
|
||||
0.0,
|
||||
0,
|
||||
)
|
||||
})
|
||||
}),
|
||||
|
|
@ -144,15 +144,15 @@ impl Blueprint {
|
|||
.placeable(Position::new(x, y), electric_pole_type.size())
|
||||
{
|
||||
Some(match electric_pole_type {
|
||||
ElectricPoleType::Small => 0.8,
|
||||
ElectricPoleType::Medium => 1.0,
|
||||
ElectricPoleType::Big => 1.5,
|
||||
ElectricPoleType::Small => 8,
|
||||
ElectricPoleType::Medium => 10,
|
||||
ElectricPoleType::Big => 15,
|
||||
ElectricPoleType::Substation => todo!(),
|
||||
})
|
||||
} else if power_pole_map
|
||||
.contains_key(&(Position::new(x, y), electric_pole_type))
|
||||
{
|
||||
Some(0.0)
|
||||
Some(0)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
|
@ -236,10 +236,10 @@ where
|
|||
{
|
||||
type Node = Option<G::Node>;
|
||||
|
||||
fn edge(&self, node: &Self::Node, num: usize) -> Option<(Self::Node, f64)> {
|
||||
fn edge(&self, node: &Self::Node, num: usize) -> Option<(Self::Node, i64)> {
|
||||
match node {
|
||||
Some(n) => self.graph.edge(n, num).map(|(e, w)| (Some(e), w)),
|
||||
None => self.start_nodes.get(num).map(|n| (Some(n.clone()), 0.0)),
|
||||
None => self.start_nodes.get(num).map(|n| (Some(n.clone()), 0)),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -346,15 +346,15 @@ impl Blueprint {
|
|||
.placeable(Position::new(x, y), electric_pole_type.size())
|
||||
{
|
||||
Some(match electric_pole_type {
|
||||
ElectricPoleType::Small => 0.8,
|
||||
ElectricPoleType::Medium => 1.0,
|
||||
ElectricPoleType::Big => 1.5,
|
||||
ElectricPoleType::Small => 8,
|
||||
ElectricPoleType::Medium => 10,
|
||||
ElectricPoleType::Big => 15,
|
||||
ElectricPoleType::Substation => todo!(),
|
||||
})
|
||||
} else if power_pole_map
|
||||
.contains_key(&(Position::new(x, y), electric_pole_type))
|
||||
{
|
||||
Some(0.0)
|
||||
Some(0)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue