diff --git a/nalgebra-sparse/example/spmm.rs b/nalgebra-sparse/example/spmm.rs index aa4eb473..2be64735 100644 --- a/nalgebra-sparse/example/spmm.rs +++ b/nalgebra-sparse/example/spmm.rs @@ -10,19 +10,23 @@ use nalgebra_sparse::io::load_coo_from_matrix_market_file; fn main() { #[cfg(feature = "io")] { - let mut file_iter = fs::read_dir("./data").unwrap(); + let mut file_iter = fs::read_dir("data").unwrap(); for f in file_iter { println!("Benchmark file {:?}", f); let f = f.unwrap().path(); - let sparse_input_matrix = load_coo_from_matrix_market_file::(&f).unwrap(); - let sparse_input_matrix = CsrMatrix::from(&sparse_input_matrix); - let spmm_result = &sparse_input_matrix * &sparse_input_matrix; - let now = Instant::now(); - let spmm_result = &sparse_input_matrix * &sparse_input_matrix; - let spmm_time = now.elapsed().as_millis(); - println!("SGEMM time was {}", spmm_time); - let sum: f64 = spmm_result.triplet_iter().map(|(_, _, v)| v).sum(); - println!("sum of product is {}", sum); + + if f.extension().map_or(false, |ext| ext == "mtx") { + println!("Benchmark file {:?}", f); + let sparse_input_matrix = load_coo_from_matrix_market_file::(&f).unwrap(); + let sparse_input_matrix = CsrMatrix::from(&sparse_input_matrix); + let spmm_result = &sparse_input_matrix * &sparse_input_matrix; + let now = Instant::now(); + let spmm_result = &sparse_input_matrix * &sparse_input_matrix; + let spmm_time = now.elapsed().as_millis(); + println!("SGEMM time was {}", spmm_time); + let sum: f64 = spmm_result.triplet_iter().map(|(_, _, v)| v).sum(); + println!("sum of product is {}", sum); + } } } #[cfg(not(feature = "io"))]