diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-06-26 14:02:52 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-06-26 14:02:52 +0200 |
commit | e102ddbf1fce646c3fbc0ee600cb3cce70c8b93c (patch) | |
tree | 2230fca93dc4bb8515ca0b52acf3628955a48a0d | |
parent | 555b9c684346129057b14d73db64a75274fdfe0f (diff) |
bug #1026: fix infinite loop for an empty input
-rw-r--r-- | Eigen/src/SparseLU/SparseLU_Memory.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Eigen/src/SparseLU/SparseLU_Memory.h b/Eigen/src/SparseLU/SparseLU_Memory.h index 1cf8bebc7..4dc42e87b 100644 --- a/Eigen/src/SparseLU/SparseLU_Memory.h +++ b/Eigen/src/SparseLU/SparseLU_Memory.h @@ -152,8 +152,8 @@ Index SparseLUImpl<Scalar,StorageIndex>::memInit(Index m, Index n, Index annz, I { Index& num_expansions = glu.num_expansions; //No memory expansions so far num_expansions = 0; - glu.nzumax = glu.nzlumax = (std::min)(fillratio * annz / n, m) * n; // estimated number of nonzeros in U - glu.nzlmax = (std::max)(Index(4), fillratio) * annz / 4; // estimated nnz in L factor + glu.nzumax = glu.nzlumax = (std::min)(fillratio * (annz+1) / n, m) * n; // estimated number of nonzeros in U + glu.nzlmax = (std::max)(Index(4), fillratio) * (annz+1) / 4; // estimated nnz in L factor // Return the estimated size to the user if necessary Index tempSpace; tempSpace = (2*panel_size + 4 + LUNoMarker) * m * sizeof(Index) + (panel_size + 1) * m * sizeof(Scalar); |