/// \returns as expression of \c *this with reshaped sizes. /// /// \param nRows the number of rows in the reshaped expression, specified at either run-time or compile-time /// \param nCols the number of columns in the reshaped expression, specified at either run-time or compile-time /// \tparam NRowsType the type of the value handling the number of rows, typically Index. /// \tparam NColsType the type of the value handling the number of columns, typically Index. /// /// Dynamic size example: \include MatrixBase_reshaped_int_int.cpp /// Output: \verbinclude MatrixBase_reshaped_int_int.out /// /// The number of rows \a nRows and columns \a nCols can also be specified at compile-time by passing Eigen::fix, /// or Eigen::fix(n) as arguments. In the later case, \c n plays the role of a runtime fallback value in case \c N equals Eigen::Dynamic. /// Here is an example with a fixed number of rows and columns: /// \include MatrixBase_reshaped_fixed.cpp /// Output: \verbinclude MatrixBase_reshaped_fixed.out /// /// \sa class Reshaped, fix, fix(int) /// template EIGEN_DEVICE_FUNC #ifndef EIGEN_PARSED_BY_DOXYGEN inline Reshaped::value,internal::get_fixed_value::value> #else inline Reshaped #endif reshaped(NRowsType nRows, NColsType nCols) { return Reshaped::value,internal::get_fixed_value::value>( derived(), internal::get_runtime_value(nRows), internal::get_runtime_value(nCols)); } /** This is the const version of reshaped(NRowsType,NColsType). */ template EIGEN_DEVICE_FUNC #ifndef EIGEN_PARSED_BY_DOXYGEN inline const Reshaped::value,internal::get_fixed_value::value> #else inline const Reshaped #endif reshaped(NRowsType nRows, NColsType nCols) const { return Reshaped::value,internal::get_fixed_value::value>( derived(), internal::get_runtime_value(nRows), internal::get_runtime_value(nCols)); }