252
253
254
255
256
257
258
259
260
261
262
263
264
265
|
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
|
+
+
+
+
+
+
|
let mut data = line.split_whitespace();
let node = data.next().ok_or_else(|| MissingSupField("node"))?.parse::<usize>()?;
let com = data.next().ok_or_else(|| MissingSupField("com"))?.parse::<usize>()?;
let supply = data.next().ok_or_else(|| MissingSupField("supply"))?.parse::<Real>()?;
if data.next().is_some() {
return Err(ExtraSupField);
}
if node < 1 || node > nnodes {
return Err(InvalidNode(node, nnodes));
}
if com < 1 || com > ncom {
return Err(InvalidCom(com, ncom));
}
nets[com - 1].set_balance(node - 1, supply)?;
}
// read arcs
let mut arcmap = vec![vec![]; ncom];
let mut cbase = vec![dvec![]; ncom];
|