mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Add coeff-wise comparisons to scalar operators. You can now write:
mat.cwise() < 2 instead of: mat.cwise() < MatrixType::Constant(mat.rows(), mat.cols(), 2)
This commit is contained in:
@@ -89,6 +89,12 @@ template<typename MatrixType> void comparisons(const MatrixType& m)
|
||||
VERIFY(! (m1.cwise() > m3).all() );
|
||||
}
|
||||
|
||||
// comparisons to scalar
|
||||
VERIFY( (m1.cwise() != (m1(r,c)+1) ).any() );
|
||||
VERIFY( (m1.cwise() > (m1(r,c)-1) ).any() );
|
||||
VERIFY( (m1.cwise() < (m1(r,c)+1) ).any() );
|
||||
VERIFY( (m1.cwise() == m1(r,c) ).any() );
|
||||
|
||||
// test Select
|
||||
VERIFY_IS_APPROX( (m1.cwise()<m2).select(m1,m2), m1.cwise().min(m2) );
|
||||
VERIFY_IS_APPROX( (m1.cwise()>m2).select(m1,m2), m1.cwise().max(m2) );
|
||||
@@ -98,10 +104,13 @@ template<typename MatrixType> void comparisons(const MatrixType& m)
|
||||
m3(i,j) = ei_abs(m1(i,j))<mid ? 0 : m1(i,j);
|
||||
VERIFY_IS_APPROX( (m1.cwise().abs().cwise()<MatrixType::Constant(rows,cols,mid))
|
||||
.select(MatrixType::Zero(rows,cols),m1), m3);
|
||||
// shorter versions:
|
||||
VERIFY_IS_APPROX( (m1.cwise().abs().cwise()<MatrixType::Constant(rows,cols,mid))
|
||||
.select(0,m1), m3);
|
||||
VERIFY_IS_APPROX( (m1.cwise().abs().cwise()>=MatrixType::Constant(rows,cols,mid))
|
||||
.select(m1,0), m3);
|
||||
// even shorter version:
|
||||
VERIFY_IS_APPROX( (m1.cwise().abs().cwise()<mid).select(0,m1), m3);
|
||||
}
|
||||
|
||||
void test_array()
|
||||
|
||||
Reference in New Issue
Block a user