aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/svd_fill.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2016-04-14 22:47:30 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2016-04-14 22:47:30 +0200
commit68897c52f3c8cd37824f87cd9582cf98a5c9eb32 (patch)
treee3735d8ca37217cc097c76be2778241a8b592ffd /test/svd_fill.h
parent20f387fafa5dbab90c240612e33e5c13d215ac5f (diff)
Add extreme values to the imaginary part for SVD unit tests.
Diffstat (limited to 'test/svd_fill.h')
-rw-r--r--test/svd_fill.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/test/svd_fill.h b/test/svd_fill.h
index 7e44b3d05..1bbe645ee 100644
--- a/test/svd_fill.h
+++ b/test/svd_fill.h
@@ -80,6 +80,8 @@ void svd_fill_random(MatrixType &m, int Option = 0)
Index i = internal::random<Index>(0,m.rows()-1);
Index j = internal::random<Index>(0,m.cols()-1);
m(j,i) = m(i,j) = samples(internal::random<Index>(0,samples.size()-1));
+ if(NumTraits<Scalar>::IsComplex)
+ *(&numext::real_ref(m(j,i))+1) = *(&numext::real_ref(m(i,j))+1) = samples.real()(internal::random<Index>(0,samples.size()-1));
}
}
}
@@ -91,8 +93,14 @@ void svd_fill_random(MatrixType &m, int Option = 0)
if(!(dup && unit_uv))
{
Index n = internal::random<Index>(0,m.size()-1);
- for(Index i=0; i<n; ++i)
- m(internal::random<Index>(0,m.rows()-1), internal::random<Index>(0,m.cols()-1)) = samples(internal::random<Index>(0,samples.size()-1));
+ for(Index k=0; k<n; ++k)
+ {
+ Index i = internal::random<Index>(0,m.rows()-1);
+ Index j = internal::random<Index>(0,m.cols()-1);
+ m(i,j) = samples(internal::random<Index>(0,samples.size()-1));
+ if(NumTraits<Scalar>::IsComplex)
+ *(&numext::real_ref(m(i,j))+1) = samples.real()(internal::random<Index>(0,samples.size()-1));
+ }
}
}
}