diff options
author | 2017-02-11 15:31:28 +0100 | |
---|---|---|
committer | 2017-02-11 15:31:28 +0100 | |
commit | 83d6a529c3a917763b35aafe8cd5b3b7478fcee6 (patch) | |
tree | 931640b3d66c2cae526995c438eb64000dbae52f /Eigen/src/plugins | |
parent | 24409f3acdd987f2734cb3b67d5a78e1d70fd362 (diff) |
Use Eigen::fix<N> to pass compile-time sizes.
Diffstat (limited to 'Eigen/src/plugins')
-rw-r--r-- | Eigen/src/plugins/ReshapedMethods.h | 41 |
1 files changed, 32 insertions, 9 deletions
diff --git a/Eigen/src/plugins/ReshapedMethods.h b/Eigen/src/plugins/ReshapedMethods.h index 20563c2f9..a9b4af7c3 100644 --- a/Eigen/src/plugins/ReshapedMethods.h +++ b/Eigen/src/plugins/ReshapedMethods.h @@ -17,30 +17,53 @@ /// /// \sa class Reshaped, fix, fix<N>(int) /// +#ifdef EIGEN_PARSED_BY_DOXYGEN +template<typename NRowsType, typename NColsType, typename OrderType> +EIGEN_DEVICE_FUNC +inline Reshaped<Derived,...> +reshaped(NRowsType nRows, NColsType nCols, OrderType = ColOrder); + +/** This is the const version of reshaped(NRowsType,NColsType). */ +template<typename NRowsType, typename NColsType, typename OrderType> +EIGEN_DEVICE_FUNC +inline const Reshaped<const Derived,...> +reshaped(NRowsType nRows, NColsType nCols, OrderType = ColOrder) const; +#else template<typename NRowsType, typename NColsType> EIGEN_DEVICE_FUNC -#ifndef EIGEN_PARSED_BY_DOXYGEN inline Reshaped<Derived,internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value> -#else -inline Reshaped<Derived,...> -#endif reshaped(NRowsType nRows, NColsType nCols) { return Reshaped<Derived,internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>( derived(), internal::get_runtime_value(nRows), internal::get_runtime_value(nCols)); } -/** This is the const version of reshaped(NRowsType,NColsType). */ +template<typename NRowsType, typename NColsType, typename OrderType> +EIGEN_DEVICE_FUNC +inline Reshaped<Derived,internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value,OrderType::value> +reshaped(NRowsType nRows, NColsType nCols, OrderType) +{ + return Reshaped<Derived,internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value,OrderType::value>( + derived(), internal::get_runtime_value(nRows), internal::get_runtime_value(nCols)); +} + + template<typename NRowsType, typename NColsType> EIGEN_DEVICE_FUNC -#ifndef EIGEN_PARSED_BY_DOXYGEN inline const Reshaped<const Derived,internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value> -#else -inline const Reshaped<const Derived,...> -#endif reshaped(NRowsType nRows, NColsType nCols) const { return Reshaped<const Derived,internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>( derived(), internal::get_runtime_value(nRows), internal::get_runtime_value(nCols)); } +template<typename NRowsType, typename NColsType, typename OrderType> +EIGEN_DEVICE_FUNC +inline const Reshaped<const Derived,internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value,OrderType::value> +reshaped(NRowsType nRows, NColsType nCols, OrderType) const +{ + return Reshaped<const Derived,internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value,OrderType::value>( + derived(), internal::get_runtime_value(nRows), internal::get_runtime_value(nCols)); +} + +#endif // EIGEN_PARSED_BY_DOXYGEN |