From b986c147cd666dfac716cb5d7179b2278ade2c61 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 4 Aug 2015 16:12:16 +0200 Subject: Fix ForceNonZeroDiag for complexes --- test/sparse.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'test/sparse.h') 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(0,1) < density) ? internal::random() : Scalar(0); if ((flags&ForceNonZeroDiag) && (i==j)) { + // FIXME: the following is too conservative v = internal::random()*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); -- cgit v1.2.3