Fix some maybe-uninitialized warnings

Cherry-picked from 72166d0e6e and 6965f6de7f
This commit is contained in:
Christoph Hertzberg 2020-02-28 19:32:10 +01:00
parent 84364ad11d
commit 14db78c53b
2 changed files with 9 additions and 4 deletions

View File

@ -28,7 +28,7 @@ class AmbiVector
typedef typename NumTraits<Scalar>::Real RealScalar; typedef typename NumTraits<Scalar>::Real RealScalar;
explicit AmbiVector(Index size) explicit AmbiVector(Index size)
: m_buffer(0), m_zero(0), m_size(0), m_allocatedSize(0), m_allocatedElements(0), m_mode(-1) : m_buffer(0), m_zero(0), m_size(0), m_end(0), m_allocatedSize(0), m_allocatedElements(0), m_mode(-1)
{ {
resize(size); resize(size);
} }
@ -147,7 +147,8 @@ template<typename _Scalar,typename _StorageIndex>
void AmbiVector<_Scalar,_StorageIndex>::init(int mode) void AmbiVector<_Scalar,_StorageIndex>::init(int mode)
{ {
m_mode = mode; m_mode = mode;
if (m_mode==IsSparse) // This is only necessary in sparse mode, but we set these unconditionally to avoid some maybe-uninitialized warnings
// if (m_mode==IsSparse)
{ {
m_llSize = 0; m_llSize = 0;
m_llStart = -1; m_llStart = -1;

View File

@ -28,9 +28,13 @@
template<typename MatrixType> template<typename MatrixType>
void bdcsvd(const MatrixType& a = MatrixType(), bool pickrandom = true) void bdcsvd(const MatrixType& a = MatrixType(), bool pickrandom = true)
{ {
MatrixType m = a; MatrixType m;
if(pickrandom) if(pickrandom) {
m.resizeLike(a);
svd_fill_random(m); svd_fill_random(m);
}
else
m = a;
CALL_SUBTEST(( svd_test_all_computation_options<BDCSVD<MatrixType> >(m, false) )); CALL_SUBTEST(( svd_test_all_computation_options<BDCSVD<MatrixType> >(m, false) ));
} }