00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
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