aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/sparse.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2015-08-04 16:12:16 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2015-08-04 16:12:16 +0200
commitb986c147cd666dfac716cb5d7179b2278ade2c61 (patch)
treee324f74fc241272b8319cf82f4b39f080f2c0d97 /test/sparse.h
parentcbce0e3b126754df9eb8cb2badb27520ff0ca1a0 (diff)
Fix ForceNonZeroDiag for complexes
Diffstat (limited to 'test/sparse.h')
-rw-r--r--test/sparse.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/test/sparse.h b/test/sparse.h
index 3c3a0c9be..9912e1e24 100644
--- a/test/sparse.h
+++ b/test/sparse.h
@@ -77,8 +77,11 @@ initSparse(double density,
Scalar v = (internal::random<double>(0,1) < density) ? internal::random<Scalar>() : Scalar(0);
if ((flags&ForceNonZeroDiag) && (i==j))
{
+ // FIXME: the following is too conservative
v = internal::random<Scalar>()*Scalar(3.);
- v = v*v + Scalar(5.);
+ v = v*v;
+ if(numext::real(v)>0) v += Scalar(5);
+ else v -= Scalar(5);
}
if ((flags & MakeLowerTriangular) && aj>ai)
v = Scalar(0);