diff options
author | Gael Guennebaud <g.gael@free.fr> | 2018-07-10 09:10:15 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2018-07-10 09:10:15 +0200 |
commit | 9357838f94d2907996adadc7e5200376f3561ed4 (patch) | |
tree | 2fa5dd8b7d1b9f34ba54e6722fdb45874241c5d0 /test/block.cpp | |
parent | de9e31a06d0324862d9200d08eb3cc4d3d07e660 (diff) |
bug #1543: improve linear indexing for general block expressions
Diffstat (limited to 'test/block.cpp')
-rw-r--r-- | test/block.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/test/block.cpp b/test/block.cpp index 8c4dd87be..9c2424662 100644 --- a/test/block.cpp +++ b/test/block.cpp @@ -162,9 +162,11 @@ template<typename MatrixType> void block(const MatrixType& m) // expressions without direct access VERIFY_IS_APPROX( ((m1+m2).block(r1,c1,rows-r1,cols-c1).block(r2-r1,c2-c1,rows-r2,cols-c2)) , ((m1+m2).block(r2,c2,rows-r2,cols-c2)) ); VERIFY_IS_APPROX( ((m1+m2).block(r1,c1,r2-r1+1,c2-c1+1).row(0)) , ((m1+m2).row(r1).segment(c1,c2-c1+1)) ); + VERIFY_IS_APPROX( ((m1+m2).block(r1,c1,r2-r1+1,c2-c1+1).row(0)) , ((m1+m2).eval().row(r1).segment(c1,c2-c1+1)) ); VERIFY_IS_APPROX( ((m1+m2).block(r1,c1,r2-r1+1,c2-c1+1).col(0)) , ((m1+m2).col(c1).segment(r1,r2-r1+1)) ); VERIFY_IS_APPROX( ((m1+m2).block(r1,c1,r2-r1+1,c2-c1+1).transpose().col(0)) , ((m1+m2).row(r1).segment(c1,c2-c1+1)).transpose() ); VERIFY_IS_APPROX( ((m1+m2).transpose().block(c1,r1,c2-c1+1,r2-r1+1).col(0)) , ((m1+m2).row(r1).segment(c1,c2-c1+1)).transpose() ); + VERIFY_IS_APPROX( ((m1+m2).template block<1,Dynamic>(r1,c1,1,c2-c1+1)) , ((m1+m2).eval().row(r1).segment(c1,c2-c1+1)) ); VERIFY_IS_APPROX( (m1*1).topRows(r1), m1.topRows(r1) ); VERIFY_IS_APPROX( (m1*1).leftCols(c1), m1.leftCols(c1) ); |