Skip to content

Commit 22b3a4b

Browse files
committed
Fix test not to use clone
1 parent f98ef76 commit 22b3a4b

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

tests/triangular.rs

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,113 +24,114 @@ fn test1d<A, Sa, Sb, Tol>(uplo: UPLO, a: ArrayBase<Sa, Ix2>, b: ArrayBase<Sb, Ix
2424
fn test2d<A, Sa, Sb, Tol>(uplo: UPLO, a: ArrayBase<Sa, Ix2>, b: ArrayBase<Sb, Ix2>, tol: Tol)
2525
where A: Field + Absolute<Output = Tol>,
2626
Sa: Data<Elem = A>,
27-
Sb: DataMut<Elem = A> + DataOwned,
27+
Sb: DataMut<Elem = A> + DataOwned + DataClone,
2828
Tol: RealField
2929
{
3030
println!("a = {:?}", &a);
3131
println!("b = {:?}", &b);
32-
let x = a.solve_triangular(uplo, Diag::NonUnit, &b).unwrap();
32+
let ans = b.clone();
33+
let x = a.solve_triangular(uplo, Diag::NonUnit, b).unwrap();
3334
println!("x = {:?}", &x);
3435
let b_ = a.dot(&x);
3536
println!("Ax = {:?}", &b_);
3637
println!("A^Tx = {:?}", a.t().dot(&x));
3738
println!("Ax^T = {:?}", a.dot(&x.t()));
3839
println!("(Ax^T)^T = {:?}", a.dot(&x.t()).t());
39-
assert_close_l2!(&b_, &b, tol);
40+
assert_close_l2!(&b_, &ans, tol);
4041
}
4142

4243
#[test]
4344
fn triangular_1d_upper() {
4445
let n = 3;
4546
let b: Array1<f64> = random_vector(n);
4647
let a: Array2<f64> = random_square(n).into_triangular(UPLO::Upper);
47-
test1d(UPLO::Upper, a, b.clone(), 1e-7);
48+
test1d(UPLO::Upper, a, b, 1e-7);
4849
}
4950

5051
#[test]
5152
fn triangular_1d_lower() {
5253
let n = 3;
5354
let b: Array1<f64> = random_vector(n);
5455
let a: Array2<f64> = random_square(n).into_triangular(UPLO::Lower);
55-
test1d(UPLO::Lower, a, b.clone(), 1e-7);
56+
test1d(UPLO::Lower, a, b, 1e-7);
5657
}
5758

5859
#[test]
5960
fn triangular_1d_lower_t() {
6061
let n = 3;
6162
let b: Array1<f64> = random_vector(n);
6263
let a: Array2<f64> = random_square(n).into_triangular(UPLO::Lower).reversed_axes();
63-
test1d(UPLO::Upper, a, b.clone(), 1e-7);
64+
test1d(UPLO::Upper, a, b, 1e-7);
6465
}
6566

6667
#[test]
6768
fn triangular_1d_upper_t() {
6869
let n = 3;
6970
let b: Array1<f64> = random_vector(n);
7071
let a: Array2<f64> = random_square(n).into_triangular(UPLO::Upper).reversed_axes();
71-
test1d(UPLO::Lower, a, b.clone(), 1e-7);
72+
test1d(UPLO::Lower, a, b, 1e-7);
7273
}
7374

7475
#[test]
7576
fn triangular_2d_upper() {
7677
let n = 3;
7778
let b: Array2<f64> = random_square(n);
7879
let a: Array2<f64> = random_square(n).into_triangular(UPLO::Upper);
79-
test2d(UPLO::Upper, a, b.clone(), 1e-7);
80+
test2d(UPLO::Upper, a, b, 1e-7);
8081
}
8182

8283
#[test]
8384
fn triangular_2d_lower() {
8485
let n = 3;
8586
let b: Array2<f64> = random_square(n);
8687
let a: Array2<f64> = random_square(n).into_triangular(UPLO::Lower);
87-
test2d(UPLO::Lower, a, b.clone(), 1e-7);
88+
test2d(UPLO::Lower, a, b, 1e-7);
8889
}
8990

9091
#[test]
9192
fn triangular_2d_lower_t() {
9293
let n = 3;
9394
let b: Array2<f64> = random_square(n);
9495
let a: Array2<f64> = random_square(n).into_triangular(UPLO::Lower).reversed_axes();
95-
test2d(UPLO::Upper, a, b.clone(), 1e-7);
96+
test2d(UPLO::Upper, a, b, 1e-7);
9697
}
9798

9899
#[test]
99100
fn triangular_2d_upper_t() {
100101
let n = 3;
101102
let b: Array2<f64> = random_square(n);
102103
let a: Array2<f64> = random_square(n).into_triangular(UPLO::Upper).reversed_axes();
103-
test2d(UPLO::Lower, a, b.clone(), 1e-7);
104+
test2d(UPLO::Lower, a, b, 1e-7);
104105
}
105106

106107
#[test]
107108
fn triangular_2d_upper_bt() {
108109
let n = 3;
109110
let b: Array2<f64> = random_square(n).reversed_axes();
110111
let a: Array2<f64> = random_square(n).into_triangular(UPLO::Upper);
111-
test2d(UPLO::Upper, a, b.clone(), 1e-7);
112+
test2d(UPLO::Upper, a, b, 1e-7);
112113
}
113114

114115
#[test]
115116
fn triangular_2d_lower_bt() {
116117
let n = 3;
117118
let b: Array2<f64> = random_square(n).reversed_axes();
118119
let a: Array2<f64> = random_square(n).into_triangular(UPLO::Lower);
119-
test2d(UPLO::Lower, a, b.clone(), 1e-7);
120+
test2d(UPLO::Lower, a, b, 1e-7);
120121
}
121122

122123
#[test]
123124
fn triangular_2d_lower_t_bt() {
124125
let n = 3;
125126
let b: Array2<f64> = random_square(n).reversed_axes();
126127
let a: Array2<f64> = random_square(n).into_triangular(UPLO::Lower).reversed_axes();
127-
test2d(UPLO::Upper, a, b.clone(), 1e-7);
128+
test2d(UPLO::Upper, a, b, 1e-7);
128129
}
129130

130131
#[test]
131132
fn triangular_2d_upper_t_bt() {
132133
let n = 3;
133134
let b: Array2<f64> = random_square(n).reversed_axes();
134135
let a: Array2<f64> = random_square(n).into_triangular(UPLO::Upper).reversed_axes();
135-
test2d(UPLO::Lower, a, b.clone(), 1e-7);
136+
test2d(UPLO::Lower, a, b, 1e-7);
136137
}

0 commit comments

Comments
 (0)