mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-11 19:29:02 +08:00
Fix ForceNonZeroDiag for complexes
This commit is contained in:
parent
cbce0e3b12
commit
b986c147cd
@ -77,8 +77,11 @@ initSparse(double density,
|
|||||||
Scalar v = (internal::random<double>(0,1) < density) ? internal::random<Scalar>() : Scalar(0);
|
Scalar v = (internal::random<double>(0,1) < density) ? internal::random<Scalar>() : Scalar(0);
|
||||||
if ((flags&ForceNonZeroDiag) && (i==j))
|
if ((flags&ForceNonZeroDiag) && (i==j))
|
||||||
{
|
{
|
||||||
|
// FIXME: the following is too conservative
|
||||||
v = internal::random<Scalar>()*Scalar(3.);
|
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)
|
if ((flags & MakeLowerTriangular) && aj>ai)
|
||||||
v = Scalar(0);
|
v = Scalar(0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user