diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-04-14 22:47:30 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-04-14 22:47:30 +0200 |
commit | 68897c52f3c8cd37824f87cd9582cf98a5c9eb32 (patch) | |
tree | e3735d8ca37217cc097c76be2778241a8b592ffd /test/svd_fill.h | |
parent | 20f387fafa5dbab90c240612e33e5c13d215ac5f (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.h | 12 |
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)); + } } } } |