1 #![cfg(feature = "arbitrary")]
2 
3 use std::cmp;
4 
5 use na::balancing;
6 use na::{DMatrix, Matrix4};
7 
8 quickcheck! {
9     fn balancing_parlett_reinsch(n: usize) -> bool {
10         let n = cmp::min(n, 10);
11         let m = DMatrix::<f64>::new_random(n, n);
12         let mut balanced = m.clone();
13         let d = balancing::balance_parlett_reinsch(&mut balanced);
14         balancing::unbalance(&mut balanced, &d);
15 
16         balanced == m
17     }
18 
19     fn balancing_parlett_reinsch_static(m: Matrix4<f64>) -> bool {
20         let mut balanced = m;
21         let d = balancing::balance_parlett_reinsch(&mut balanced);
22         balancing::unbalance(&mut balanced, &d);
23 
24         balanced == m
25     }
26 }
27