eOpCube_meat.hpp
Go to the documentation of this file.
00001 // Copyright (C) 2010-2011 NICTA (www.nicta.com.au)
00002 // Copyright (C) 2010-2011 Conrad Sanderson
00003 // 
00004 // This file is part of the Armadillo C++ library.
00005 // It is provided without any warranty of fitness
00006 // for any purpose. You can redistribute this file
00007 // and/or modify it under the terms of the GNU
00008 // Lesser General Public License (LGPL) as published
00009 // by the Free Software Foundation, either version 3
00010 // of the License or (at your option) any later version.
00011 // (see http://www.opensource.org/licenses for more info)
00012 
00013 
00016 
00017 
00018 
00019 template<typename T1, typename eop_type>
00020 eOpCube<T1, eop_type>::eOpCube(const BaseCube<typename T1::elem_type, T1>& in_m)
00021   : P (in_m.get_ref())
00022   {
00023   arma_extra_debug_sigprint();
00024   }
00025   
00026 
00027 
00028 template<typename T1, typename eop_type>
00029 eOpCube<T1, eop_type>::eOpCube(const BaseCube<typename T1::elem_type, T1>& in_m, const typename T1::elem_type in_aux)
00030   : P   (in_m.get_ref())
00031   , aux (in_aux)
00032   {
00033   arma_extra_debug_sigprint();
00034   }
00035   
00036 
00037 
00038 template<typename T1, typename eop_type>
00039 eOpCube<T1, eop_type>::eOpCube(const BaseCube<typename T1::elem_type, T1>& in_m, const uword in_aux_uword_a, const uword in_aux_uword_b)
00040   : P           (in_m.get_ref())
00041   , aux_uword_a (in_aux_uword_a)
00042   , aux_uword_b (in_aux_uword_b)
00043   {
00044   arma_extra_debug_sigprint();
00045   }
00046 
00047 
00048 
00049 template<typename T1, typename eop_type>
00050 eOpCube<T1, eop_type>::eOpCube(const BaseCube<typename T1::elem_type, T1>& in_m, const uword in_aux_uword_a, const uword in_aux_uword_b, const uword in_aux_uword_c)
00051   : P           (in_m.get_ref())
00052   , aux_uword_a (in_aux_uword_a)
00053   , aux_uword_b (in_aux_uword_b)
00054   , aux_uword_c (in_aux_uword_c)
00055   {
00056   arma_extra_debug_sigprint();
00057   }
00058 
00059 
00060 
00061 template<typename T1, typename eop_type>
00062 eOpCube<T1, eop_type>::eOpCube(const BaseCube<typename T1::elem_type, T1>& 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)
00063   : P           (in_m.get_ref())
00064   , aux         (in_aux)
00065   , aux_uword_a (in_aux_uword_a)
00066   , aux_uword_b (in_aux_uword_b)
00067   , aux_uword_c (in_aux_uword_c)
00068   {
00069   arma_extra_debug_sigprint();
00070   }
00071 
00072 
00073 
00074 template<typename T1, typename eop_type>
00075 eOpCube<T1, eop_type>::~eOpCube()
00076   {
00077   arma_extra_debug_sigprint();
00078   }
00079 
00080 
00081 
00082 template<typename T1, typename eop_type>
00083 arma_inline
00084 uword
00085 eOpCube<T1, eop_type>::get_n_rows() const
00086   {
00087   return P.get_n_rows();
00088   }
00089   
00090 
00091 
00092 template<typename T1, typename eop_type>
00093 arma_inline
00094 uword
00095 eOpCube<T1, eop_type>::get_n_cols() const
00096   {
00097   return P.get_n_cols();
00098   }
00099 
00100 
00101 
00102 template<typename T1, typename eop_type>
00103 arma_inline
00104 uword
00105 eOpCube<T1, eop_type>::get_n_elem_slice() const
00106   {
00107   return P.get_n_elem_slice();
00108   }
00109 
00110 
00111 
00112 template<typename T1, typename eop_type>
00113 arma_inline
00114 uword
00115 eOpCube<T1, eop_type>::get_n_slices() const
00116   {
00117   return P.get_n_slices();
00118   }
00119 
00120 
00121 
00122 template<typename T1, typename eop_type>
00123 arma_inline
00124 uword
00125 eOpCube<T1, eop_type>::get_n_elem() const
00126   {
00127   return P.get_n_elem();
00128   }
00129 
00130 
00131 
00132 template<typename T1, typename eop_type>
00133 arma_inline
00134 typename T1::elem_type
00135 eOpCube<T1, eop_type>::operator[] (const uword i) const
00136   {
00137   return eop_core<eop_type>::process(P[i], aux);
00138   }
00139 
00140 
00141 
00142 template<typename T1, typename eop_type>
00143 arma_inline
00144 typename T1::elem_type
00145 eOpCube<T1, eop_type>::at(const uword row, const uword col, const uword slice) const
00146   {
00147   typedef typename T1::elem_type eT;
00148   
00149   return eop_core<eop_type>::process(P.at(row, col, slice), aux);
00150   }
00151 
00152 
00153 


armadillo_matrix
Author(s): Conrad Sanderson - NICTA (www.nicta.com.au), (Wrapper by Sjoerd van den Dries)
autogenerated on Tue Jan 7 2014 11:42:03