23 for(
Index i2 = 0; i2 <
i; i2++)
25 m(
i) = internal::random<Scalar>();
28 Index minrow=0,mincol=0,maxrow=0,maxcol=0;
45 Index eigen_minrow, eigen_mincol, eigen_maxrow, eigen_maxcol;
46 Scalar eigen_minc, eigen_maxc;
47 eigen_minc =
m.minCoeff(&eigen_minrow,&eigen_mincol);
48 eigen_maxc =
m.maxCoeff(&eigen_maxrow,&eigen_maxcol);
49 VERIFY(minrow == eigen_minrow);
50 VERIFY(maxrow == eigen_maxrow);
51 VERIFY(mincol == eigen_mincol);
52 VERIFY(maxcol == eigen_maxcol);
58 eigen_maxc = (
m.adjoint()*
m).maxCoeff(&eigen_maxrow,&eigen_maxcol);
59 Index maxrow2=0,maxcol2=0;
60 eigen_maxc = (
m.adjoint()*
m).
eval().maxCoeff(&maxrow2,&maxcol2);
61 VERIFY(maxrow2 == eigen_maxrow);
62 VERIFY(maxcol2 == eigen_maxcol);
69 if (!(
j == mincol &&
i == minrow) &&
70 !(
j == maxcol &&
i == maxrow)) {
78 eigen_minc =
m.template minCoeff<PropagateNumbers>(&eigen_minrow, &eigen_mincol);
79 eigen_maxc =
m.template maxCoeff<PropagateNumbers>(&eigen_maxrow, &eigen_maxcol);
80 VERIFY(minrow == eigen_minrow);
81 VERIFY(maxrow == eigen_maxrow);
82 VERIFY(mincol == eigen_mincol);
83 VERIFY(maxcol == eigen_maxcol);
89 eigen_minc =
m.template minCoeff<PropagateNaN>(&eigen_minrow, &eigen_mincol);
90 eigen_maxc =
m.template maxCoeff<PropagateNaN>(&eigen_maxrow, &eigen_maxcol);
91 VERIFY(minrow != eigen_minrow || mincol != eigen_mincol);
92 VERIFY(maxrow != eigen_maxrow || maxcol != eigen_maxcol);
107 v = VectorType::Random(
size);
109 for(
Index i2 = 0; i2 <
i; i2++)
111 v(
i) = internal::random<Scalar>();
114 Index minidx=0, maxidx=0;
128 Index eigen_minidx, eigen_maxidx;
129 Scalar eigen_minc, eigen_maxc;
130 eigen_minc =
v.minCoeff(&eigen_minidx);
131 eigen_maxc =
v.maxCoeff(&eigen_maxidx);
132 VERIFY(minidx == eigen_minidx);
133 VERIFY(maxidx == eigen_maxidx);
139 Index idx0 = internal::random<Index>(0,
size-1);
140 Index idx1 = eigen_minidx;
141 Index idx2 = eigen_maxidx;
145 v1.minCoeff(&eigen_minidx);
146 v2.maxCoeff(&eigen_maxidx);
153 if (
i != minidx &&
i != maxidx) {
158 eigen_minc =
v.template minCoeff<PropagateNumbers>(&eigen_minidx);
159 eigen_maxc =
v.template maxCoeff<PropagateNumbers>(&eigen_maxidx);
160 VERIFY(minidx == eigen_minidx);
161 VERIFY(maxidx == eigen_maxidx);
167 eigen_minc =
v.template minCoeff<PropagateNaN>(&eigen_minidx);
168 eigen_maxc =
v.template maxCoeff<PropagateNaN>(&eigen_maxidx);
169 VERIFY(minidx != eigen_minidx);
170 VERIFY(maxidx != eigen_maxidx);