// Copyright (C) 2008-2015 National ICT Australia (NICTA) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. // ------------------------------------------------------------------- // // Written by Conrad Sanderson - http://conradsanderson.id.au //! \addtogroup fn_reshape //! @{ template inline typename enable_if2< is_arma_type::value, const Op >::result reshape(const T1& X, const uword in_n_rows, const uword in_n_cols) { arma_extra_debug_sigprint(); return Op(X, in_n_rows, in_n_cols); } template inline typename enable_if2< is_arma_type::value, const Op >::result reshape(const T1& X, const SizeMat& s) { arma_extra_debug_sigprint(); return Op(X, s.n_rows, s.n_cols); } //! NOTE: this form is deprecated: don't use it template arma_deprecated inline const Op reshape(const Base& X, const uword in_n_rows, const uword in_n_cols, const uword dim) { arma_extra_debug_sigprint(); arma_debug_check( (dim > 1), "reshape(): parameter 'dim' must be 0 or 1" ); return Op(X.get_ref(), in_n_rows, in_n_cols, dim, 'j'); } template inline const OpCube reshape(const BaseCube& X, const uword in_n_rows, const uword in_n_cols, const uword in_n_slices, const uword dim = 0) { arma_extra_debug_sigprint(); arma_debug_check( (dim > 1), "reshape(): parameter 'dim' must be 0 or 1" ); return OpCube(X.get_ref(), in_n_rows, in_n_cols, in_n_slices, dim, 'j'); } template inline const OpCube reshape(const BaseCube& X, const SizeCube& s, const uword dim = 0) { arma_extra_debug_sigprint(); arma_debug_check( (dim > 1), "reshape(): parameter 'dim' must be 0 or 1" ); return OpCube(X.get_ref(), s.n_rows, s.n_cols, s.n_slices, dim, 'j'); } template inline const SpOp reshape(const SpBase& X, const uword in_n_rows, const uword in_n_cols) { arma_extra_debug_sigprint(); return SpOp(X.get_ref(), in_n_rows, in_n_cols); } template inline const SpOp reshape(const SpBase& X, const SizeMat& s) { arma_extra_debug_sigprint(); return SpOp(X.get_ref(), s.n_rows, s.n_cols); } //! @}