MCPcopy Create free account
hub / github.com/Derious/cuMPC / cwise_min_max

Function cwise_min_max

dependence/eigen-3.4.0/test/array_for_matrix.cpp:178–214  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

176}
177
178template<typename MatrixType> void cwise_min_max(const MatrixType& m)
179{
180 typedef typename MatrixType::Scalar Scalar;
181
182 Index rows = m.rows();
183 Index cols = m.cols();
184
185 MatrixType m1 = MatrixType::Random(rows, cols);
186
187 // min/max with array
188 Scalar maxM1 = m1.maxCoeff();
189 Scalar minM1 = m1.minCoeff();
190
191 VERIFY_IS_APPROX(MatrixType::Constant(rows,cols, minM1), m1.cwiseMin(MatrixType::Constant(rows,cols, minM1)));
192 VERIFY_IS_APPROX(m1, m1.cwiseMin(MatrixType::Constant(rows,cols, maxM1)));
193
194 VERIFY_IS_APPROX(MatrixType::Constant(rows,cols, maxM1), m1.cwiseMax(MatrixType::Constant(rows,cols, maxM1)));
195 VERIFY_IS_APPROX(m1, m1.cwiseMax(MatrixType::Constant(rows,cols, minM1)));
196
197 // min/max with scalar input
198 VERIFY_IS_APPROX(MatrixType::Constant(rows,cols, minM1), m1.cwiseMin( minM1));
199 VERIFY_IS_APPROX(m1, m1.cwiseMin(maxM1));
200 VERIFY_IS_APPROX(-m1, (-m1).cwiseMin(-minM1));
201 VERIFY_IS_APPROX(-m1.array(), ((-m1).array().min)( -minM1));
202
203 VERIFY_IS_APPROX(MatrixType::Constant(rows,cols, maxM1), m1.cwiseMax( maxM1));
204 VERIFY_IS_APPROX(m1, m1.cwiseMax(minM1));
205 VERIFY_IS_APPROX(-m1, (-m1).cwiseMax(-maxM1));
206 VERIFY_IS_APPROX(-m1.array(), ((-m1).array().max)(-maxM1));
207
208 VERIFY_IS_APPROX(MatrixType::Constant(rows,cols, minM1).array(), (m1.array().min)( minM1));
209 VERIFY_IS_APPROX(m1.array(), (m1.array().min)( maxM1));
210
211 VERIFY_IS_APPROX(MatrixType::Constant(rows,cols, maxM1).array(), (m1.array().max)( maxM1));
212 VERIFY_IS_APPROX(m1.array(), (m1.array().max)( minM1));
213
214}
215
216template<typename MatrixTraits> void resize(const MatrixTraits& t)
217{

Callers 1

EIGEN_DECLARE_TESTFunction · 0.85

Calls 7

cwiseMinMethod · 0.80
cwiseMaxMethod · 0.80
rowsMethod · 0.45
colsMethod · 0.45
maxCoeffMethod · 0.45
minCoeffMethod · 0.45
arrayMethod · 0.45

Tested by

no test coverage detected