| struct pad { | |
| Index size() const { return out_size; } | |
| Index operator[] (Index i) const { return std::max<Index>(0,i-(out_size-in_size)); } | |
| Index in_size, out_size; | |
| }; | |
| Matrix3i A; | |
| A.reshaped() = VectorXi::LinSpaced(9,1,9); | |
| cout << "Initial matrix A:\n" << A << "\n\n"; | |
| MatrixXi B(5,5); | |
| B = A(pad{3,5}, pad{3,5}); | |
| cout << "A(pad{3,N}, pad{3,N}):\n" << B << "\n\n"; |