$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 eOp<T1, eop_type>::eOp(const Base<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 eOp<T1, eop_type>::eOp(const Base<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 eOp<T1, eop_type>::eOp(const Base<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 eOp<T1, eop_type>::eOp(const Base<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) 00051 : P(in_m.get_ref()) 00052 , aux(in_aux) 00053 , aux_uword_a(in_aux_uword_a) 00054 , aux_uword_b(in_aux_uword_b) 00055 { 00056 arma_extra_debug_sigprint(); 00057 } 00058 00059 00060 00061 template<typename T1, typename eop_type> 00062 eOp<T1, eop_type>::~eOp() 00063 { 00064 arma_extra_debug_sigprint(); 00065 } 00066 00067 00068 00069 template<typename T1, typename eop_type> 00070 arma_inline 00071 uword 00072 eOp<T1, eop_type>::get_n_rows() const 00073 { 00074 return P.get_n_rows(); 00075 } 00076 00077 00078 00079 template<typename T1, typename eop_type> 00080 arma_inline 00081 uword 00082 eOp<T1, eop_type>::get_n_cols() const 00083 { 00084 return P.get_n_cols(); 00085 } 00086 00087 00088 00089 template<typename T1, typename eop_type> 00090 arma_inline 00091 uword 00092 eOp<T1, eop_type>::get_n_elem() const 00093 { 00094 return P.get_n_elem(); 00095 } 00096 00097 00098 00099 template<typename T1, typename eop_type> 00100 arma_inline 00101 typename T1::elem_type 00102 eOp<T1, eop_type>::operator[] (const uword i) const 00103 { 00104 return eop_core<eop_type>::process(P[i], aux); 00105 } 00106 00107 00108 00109 template<typename T1, typename eop_type> 00110 arma_inline 00111 typename T1::elem_type 00112 eOp<T1, eop_type>::at(const uword row, const uword col) const 00113 { 00114 return eop_core<eop_type>::process(P.at(row, col), aux); 00115 } 00116 00117 00118