cart-elc

Source code for CART-ELC
git clone git://git.laack.co/cart-elc.git
Log | Files | Refs | README | LICENSE

Slicing_custom_padding_cxx11.cpp (369B)


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