max@0: // Copyright (C) 2010-2011 NICTA (www.nicta.com.au) max@0: // Copyright (C) 2010-2011 Conrad Sanderson max@0: // max@0: // This file is part of the Armadillo C++ library. max@0: // It is provided without any warranty of fitness max@0: // for any purpose. You can redistribute this file max@0: // and/or modify it under the terms of the GNU max@0: // Lesser General Public License (LGPL) as published max@0: // by the Free Software Foundation, either version 3 max@0: // of the License or (at your option) any later version. max@0: // (see http://www.opensource.org/licenses for more info) max@0: max@0: max@0: //! \addtogroup eOpCube max@0: //! @{ max@0: max@0: max@0: max@0: template max@0: eOpCube::eOpCube(const BaseCube& in_m) max@0: : P (in_m.get_ref()) max@0: { max@0: arma_extra_debug_sigprint(); max@0: } max@0: max@0: max@0: max@0: template max@0: eOpCube::eOpCube(const BaseCube& in_m, const typename T1::elem_type in_aux) max@0: : P (in_m.get_ref()) max@0: , aux (in_aux) max@0: { max@0: arma_extra_debug_sigprint(); max@0: } max@0: max@0: max@0: max@0: template max@0: eOpCube::eOpCube(const BaseCube& in_m, const uword in_aux_uword_a, const uword in_aux_uword_b) max@0: : P (in_m.get_ref()) max@0: , aux_uword_a (in_aux_uword_a) max@0: , aux_uword_b (in_aux_uword_b) max@0: { max@0: arma_extra_debug_sigprint(); max@0: } max@0: max@0: max@0: max@0: template max@0: eOpCube::eOpCube(const BaseCube& in_m, const uword in_aux_uword_a, const uword in_aux_uword_b, const uword in_aux_uword_c) max@0: : P (in_m.get_ref()) max@0: , aux_uword_a (in_aux_uword_a) max@0: , aux_uword_b (in_aux_uword_b) max@0: , aux_uword_c (in_aux_uword_c) max@0: { max@0: arma_extra_debug_sigprint(); max@0: } max@0: max@0: max@0: max@0: template max@0: eOpCube::eOpCube(const BaseCube& in_m, const typename T1::elem_type in_aux, const uword in_aux_uword_a, const uword in_aux_uword_b, const uword in_aux_uword_c) max@0: : P (in_m.get_ref()) max@0: , aux (in_aux) max@0: , aux_uword_a (in_aux_uword_a) max@0: , aux_uword_b (in_aux_uword_b) max@0: , aux_uword_c (in_aux_uword_c) max@0: { max@0: arma_extra_debug_sigprint(); max@0: } max@0: max@0: max@0: max@0: template max@0: eOpCube::~eOpCube() max@0: { max@0: arma_extra_debug_sigprint(); max@0: } max@0: max@0: max@0: max@0: template max@0: arma_inline max@0: uword max@0: eOpCube::get_n_rows() const max@0: { max@0: return P.get_n_rows(); max@0: } max@0: max@0: max@0: max@0: template max@0: arma_inline max@0: uword max@0: eOpCube::get_n_cols() const max@0: { max@0: return P.get_n_cols(); max@0: } max@0: max@0: max@0: max@0: template max@0: arma_inline max@0: uword max@0: eOpCube::get_n_elem_slice() const max@0: { max@0: return P.get_n_elem_slice(); max@0: } max@0: max@0: max@0: max@0: template max@0: arma_inline max@0: uword max@0: eOpCube::get_n_slices() const max@0: { max@0: return P.get_n_slices(); max@0: } max@0: max@0: max@0: max@0: template max@0: arma_inline max@0: uword max@0: eOpCube::get_n_elem() const max@0: { max@0: return P.get_n_elem(); max@0: } max@0: max@0: max@0: max@0: template max@0: arma_inline max@0: typename T1::elem_type max@0: eOpCube::operator[] (const uword i) const max@0: { max@0: return eop_core::process(P[i], aux); max@0: } max@0: max@0: max@0: max@0: template max@0: arma_inline max@0: typename T1::elem_type max@0: eOpCube::at(const uword row, const uword col, const uword slice) const max@0: { max@0: typedef typename T1::elem_type eT; max@0: max@0: return eop_core::process(P.at(row, col, slice), aux); max@0: } max@0: max@0: max@0: max@0: //! @}