now accepts command line arguments
This commit is contained in:
parent
28afa921ad
commit
33f2a0c57f
@ -3,8 +3,6 @@ name = "graphprogram_rust"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
csv = "1.2.2"
|
csv = "1.2.2"
|
||||||
fastrand = "1.9.0"
|
fastrand = "1.9.0"
|
||||||
@ -18,4 +16,5 @@ panic = "unwind"
|
|||||||
incremental = true
|
incremental = true
|
||||||
debug-assertions = false
|
debug-assertions = false
|
||||||
codegen-units = 64
|
codegen-units = 64
|
||||||
rpath = false
|
rpath = false
|
||||||
|
strip = true
|
||||||
|
@ -148,13 +148,12 @@ pub fn show(matrix: &Vec<Vec<usize>>) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn read_csv(file_name: &str) -> Vec<Vec<usize>> {
|
pub fn read_csv(file: &str) -> Vec<Vec<usize>> {
|
||||||
let mut matrix: Vec<Vec<usize>> = vec![];
|
let mut matrix: Vec<Vec<usize>> = vec![];
|
||||||
let dir: String = "/home/rene/projects/Java/graphprogram/csv/".into();
|
|
||||||
let mut csv = csv::ReaderBuilder::new()
|
let mut csv = csv::ReaderBuilder::new()
|
||||||
.has_headers(false)
|
.has_headers(false)
|
||||||
.delimiter(b';')
|
.delimiter(b';')
|
||||||
.from_path(dir + file_name)
|
.from_path(file)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
for (index, result) in csv.records().enumerate() {
|
for (index, result) in csv.records().enumerate() {
|
||||||
|
@ -6,7 +6,7 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn graph() {
|
fn graph() {
|
||||||
let adjazenz_matrix = read_csv("art-brck.csv");
|
let adjazenz_matrix = read_csv("/home/rene/projects/Java/graphprogram/csv/art-brck.csv");
|
||||||
let distanz_matrix = calculate_distanz_matrix(&adjazenz_matrix);
|
let distanz_matrix = calculate_distanz_matrix(&adjazenz_matrix);
|
||||||
let weg_matrix = calculate_weg_matrix(&adjazenz_matrix);
|
let weg_matrix = calculate_weg_matrix(&adjazenz_matrix);
|
||||||
|
|
||||||
|
13
src/main.rs
13
src/main.rs
@ -1,3 +1,5 @@
|
|||||||
|
use std::env::args;
|
||||||
|
|
||||||
#[allow(unused_imports)]
|
#[allow(unused_imports)]
|
||||||
use crate::graph::{
|
use crate::graph::{
|
||||||
matrix::{fill_with_random, read_csv, show},
|
matrix::{fill_with_random, read_csv, show},
|
||||||
@ -7,9 +9,14 @@ use crate::graph::{
|
|||||||
pub mod graph;
|
pub mod graph;
|
||||||
|
|
||||||
pub fn main() {
|
pub fn main() {
|
||||||
let file_name = "24n.csv";
|
let args: Vec<String> = args().collect();
|
||||||
let adjazenz_matrix = read_csv(file_name);
|
let adjazenz_matrix: Vec<Vec<usize>>;
|
||||||
//let adjazenz_matrix = fill_with_random(320); // with 320 verteces, it runs in about 10 seconds on an Intel i5-10300H @4.3 GHz (2023-06-05 15:48)
|
|
||||||
|
if args[1].trim().parse::<usize>().is_ok() {
|
||||||
|
adjazenz_matrix = fill_with_random(args[1].parse::<usize>().unwrap()); // with 320 verteces, it runs in about 10 seconds on an Intel i5-10300H @4.3 GHz (2023-06-05 15:48)
|
||||||
|
} else {
|
||||||
|
adjazenz_matrix = read_csv(&args[1]);
|
||||||
|
}
|
||||||
let distanz_matrix = calculate_distanz_matrix(&adjazenz_matrix);
|
let distanz_matrix = calculate_distanz_matrix(&adjazenz_matrix);
|
||||||
let weg_matrix = calculate_weg_matrix(&adjazenz_matrix);
|
let weg_matrix = calculate_weg_matrix(&adjazenz_matrix);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user