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