$search
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