Skip to content

Commit ed0ffba

Browse files
committed
remove outdated options from rustfmt.toml and run cargo fmt
1 parent 20b4a71 commit ed0ffba

29 files changed

+2595
-2291
lines changed

benches/sparse_dense_products.rs

+26-19
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#[macro_use]
22
extern crate bencher;
3-
extern crate sprs;
43
extern crate ndarray;
4+
extern crate sprs;
55

66
use bencher::Bencher;
7-
use sprs::{CsVec, CsMat};
87
use ndarray::{Array, Array2, ShapeBuilder};
8+
use sprs::{CsMat, CsVec};
99

1010
fn sparse_dense_dotprod_default(bench: &mut Bencher) {
1111
let w = Array::range(0., 10., 0.00001);
@@ -25,37 +25,44 @@ fn sparse_dense_dotprod_specialized(bench: &mut Bencher) {
2525

2626
fn sparse_dense_vec_matprod_default(bench: &mut Bencher) {
2727
let w = Array::range(0., 10., 0.00001);
28-
let a = CsMat::new((3, 1000000),
29-
vec![0, 2, 4, 5],
30-
vec![0, 1, 0, 2, 2],
31-
vec![1., 2., 3., 4., 5.]);
28+
let a = CsMat::new(
29+
(3, 1000000),
30+
vec![0, 2, 4, 5],
31+
vec![0, 1, 0, 2, 2],
32+
vec![1., 2., 3., 4., 5.],
33+
);
3234
bench.iter(|| {
3335
&a * &w;
3436
});
3537
}
3638

3739
fn sparse_dense_vec_matprod_specialized(bench: &mut Bencher) {
3840
let w = Array::range(0., 10., 0.00001);
39-
let a = CsMat::new((3, 1000000),
40-
vec![0, 2, 4, 5],
41-
vec![0, 1, 0, 2, 2],
42-
vec![1., 2., 3., 4., 5.]);
41+
let a = CsMat::new(
42+
(3, 1000000),
43+
vec![0, 2, 4, 5],
44+
vec![0, 1, 0, 2, 2],
45+
vec![1., 2., 3., 4., 5.],
46+
);
4347
let rows = a.rows();
4448
let cols = w.shape()[0];
4549
let w_reshape = w.view().into_shape((1, cols)).unwrap();
4650
let w_t = w_reshape.t();
4751
let mut res = Array2::zeros((rows, 1).f());
4852
bench.iter(|| {
49-
sprs::prod::csr_mulacc_dense_colmaj(a.view(),
50-
w_t.view(),
51-
res.view_mut());
53+
sprs::prod::csr_mulacc_dense_colmaj(
54+
a.view(),
55+
w_t.view(),
56+
res.view_mut(),
57+
);
5258
});
5359
}
5460

55-
benchmark_group!(benches,
56-
sparse_dense_dotprod_default,
57-
sparse_dense_dotprod_specialized,
58-
sparse_dense_vec_matprod_specialized,
59-
sparse_dense_vec_matprod_default);
61+
benchmark_group!(
62+
benches,
63+
sparse_dense_dotprod_default,
64+
sparse_dense_dotprod_specialized,
65+
sparse_dense_vec_matprod_specialized,
66+
sparse_dense_vec_matprod_default
67+
);
6068
benchmark_main!(benches);
61-

benches/suite.rs

+8-10
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
11
#[macro_use]
22
extern crate bencher;
3-
extern crate sprs;
43
extern crate alga;
4+
extern crate sprs;
55

6+
use alga::general::{Additive, Inverse};
67
use bencher::Bencher;
78
use sprs::CsVec;
8-
use alga::general::{Inverse, Additive};
99

1010
fn csvec_neg(bench: &mut Bencher) {
11-
let vector = CsVec::new(10000, (10..9000).collect::<Vec<_>>(), vec![-1.3; 8990]);
12-
bench.iter(|| {
13-
-vector.clone()
14-
});
11+
let vector =
12+
CsVec::new(10000, (10..9000).collect::<Vec<_>>(), vec![-1.3; 8990]);
13+
bench.iter(|| -vector.clone());
1514
}
1615

1716
fn csvec_additive_inverse(bench: &mut Bencher) {
18-
let vector = CsVec::new(10000, (10..9000).collect::<Vec<_>>(), vec![-1.3; 8990]);
19-
bench.iter(|| {
20-
Inverse::<Additive>::inverse(&vector)
21-
});
17+
let vector =
18+
CsVec::new(10000, (10..9000).collect::<Vec<_>>(), vec![-1.3; 8990]);
19+
bench.iter(|| Inverse::<Additive>::inverse(&vector));
2220
}
2321

2422
benchmark_group!(benches, csvec_neg, csvec_additive_inverse);

examples/heat.rs

+23-23
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
extern crate ndarray;
12
///! This file demonstrates basic usage of the sprs library,
23
///! where a heat diffusion problem with Dirichlet boundary condition
34
///! is solved for equilibrium. For simplicity we omit any relevant
@@ -14,9 +15,7 @@
1415
///! This shows how a laplacian matrix can be constructed by directly
1516
///! constructing the compressed structure, and how the resulting linear
1617
///! system can be solved using an iterative method.
17-
1818
extern crate sprs;
19-
extern crate ndarray;
2019

2120
type VecView<'a, T> = ndarray::ArrayView<'a, T, ndarray::Ix1>;
2221
type VecViewMut<'a, T> = ndarray::ArrayViewMut<'a, T, ndarray::Ix1>;
@@ -49,7 +48,7 @@ fn grid_laplacian(shape: (usize, usize)) -> sprs::CsMat<f64> {
4948
let (rows, cols) = shape;
5049
let nb_vert = rows * cols;
5150
let mut indptr = Vec::with_capacity(nb_vert + 1);
52-
let nnz = 5*nb_vert + 5;
51+
let nnz = 5 * nb_vert + 5;
5352
let mut indices = Vec::with_capacity(nnz);
5453
let mut data = Vec::with_capacity(nnz);
5554
let mut cumsum = 0;
@@ -67,8 +66,7 @@ fn grid_laplacian(shape: (usize, usize)) -> sprs::CsMat<f64> {
6766
if is_border(i, j, shape) {
6867
// establish Dirichlet boundary conditions
6968
add_elt(i, j, 1.);
70-
}
71-
else {
69+
} else {
7270
add_elt(i - 1, j, 1.);
7371
add_elt(i, j - 1, 1.);
7472
add_elt(i, j, -4.);
@@ -84,17 +82,18 @@ fn grid_laplacian(shape: (usize, usize)) -> sprs::CsMat<f64> {
8482
}
8583

8684
/// Set a dirichlet boundary condition
87-
fn set_boundary_condition<F>(mut rhs: VecViewMut<f64>,
88-
grid_shape: (usize, usize),
89-
f: F
90-
)
91-
where F: Fn(usize, usize) -> f64
85+
fn set_boundary_condition<F>(
86+
mut rhs: VecViewMut<f64>,
87+
grid_shape: (usize, usize),
88+
f: F,
89+
) where
90+
F: Fn(usize, usize) -> f64,
9291
{
9392
let (rows, cols) = grid_shape;
9493
for i in 0..rows {
9594
for j in 0..cols {
9695
if is_border(i, j, grid_shape) {
97-
let index = i*rows + j;
96+
let index = i * rows + j;
9897
rhs[[index]] = f(i, j);
9998
}
10099
}
@@ -103,12 +102,13 @@ where F: Fn(usize, usize) -> f64
103102

104103
/// Gauss-Seidel method to solve the system
105104
/// see https://en.wikipedia.org/wiki/Gauss%E2%80%93Seidel_method#Algorithm
106-
fn gauss_seidel(mat: sprs::CsMatView<f64>,
107-
mut x: VecViewMut<f64>,
108-
rhs: VecView<f64>,
109-
max_iter: usize,
110-
eps: f64
111-
) -> Result<(usize, f64), f64> {
105+
fn gauss_seidel(
106+
mat: sprs::CsMatView<f64>,
107+
mut x: VecViewMut<f64>,
108+
rhs: VecView<f64>,
109+
max_iter: usize,
110+
eps: f64,
111+
) -> Result<(usize, f64), f64> {
112112
assert!(mat.rows() == mat.cols());
113113
assert!(mat.rows() == x.shape()[0]);
114114
let mut error = (&mat * &x - rhs).scalar_sum().sqrt();
@@ -119,16 +119,15 @@ fn gauss_seidel(mat: sprs::CsMatView<f64>,
119119
for (col_ind, &val) in vec.iter() {
120120
if row_ind != col_ind {
121121
sigma += val * x[[col_ind]];
122-
}
123-
else {
122+
} else {
124123
diag = Some(val);
125124
}
126125
}
127126
// Gauss-Seidel requires a non-zero diagonal, which
128127
// is satisfied for a laplacian matrix
129128
let diag = diag.unwrap();
130129
let cur_rhs = rhs[[row_ind]];
131-
x[[row_ind]] = ( cur_rhs - sigma) / diag;
130+
x[[row_ind]] = (cur_rhs - sigma) / diag;
132131
}
133132

134133
error = (&mat * &x - rhs).scalar_sum().sqrt();
@@ -153,9 +152,10 @@ fn main() {
153152

154153
match gauss_seidel(lap.view(), x.view_mut(), rhs.view(), 300, 1e-8) {
155154
Ok((iters, error)) => {
156-
println!("Solved system in {} iterations with residual error {}",
157-
iters,
158-
error);
155+
println!(
156+
"Solved system in {} iterations with residual error {}",
157+
iters, error
158+
);
159159
let grid = x.view().into_shape((rows, cols)).unwrap();
160160
for i in 0..rows {
161161
for j in 0..cols {

rustfmt.toml

-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
11
max_width = 80
2-
ideal_width = 76
3-
where_indent = "Inherit"

0 commit comments

Comments
 (0)