Op_cx_scalar

Classes

class  op_cx_scalar_times
class  op_cx_scalar_plus
class  op_cx_scalar_minus_pre
class  op_cx_scalar_minus_post
class  op_cx_scalar_div_pre
class  op_cx_scalar_div_post

Functions

template<typename T1 >
static void op_cx_scalar_times::apply (Mat< typename std::complex< typename T1::pod_type > > &out, const mtOp< typename std::complex< typename T1::pod_type >, T1, op_cx_scalar_times > &X)
template<typename T1 >
static void op_cx_scalar_plus::apply (Mat< typename std::complex< typename T1::pod_type > > &out, const mtOp< typename std::complex< typename T1::pod_type >, T1, op_cx_scalar_plus > &X)
template<typename T1 >
static void op_cx_scalar_minus_pre::apply (Mat< typename std::complex< typename T1::pod_type > > &out, const mtOp< typename std::complex< typename T1::pod_type >, T1, op_cx_scalar_minus_pre > &X)
template<typename T1 >
static void op_cx_scalar_minus_post::apply (Mat< typename std::complex< typename T1::pod_type > > &out, const mtOp< typename std::complex< typename T1::pod_type >, T1, op_cx_scalar_minus_post > &X)
template<typename T1 >
static void op_cx_scalar_div_pre::apply (Mat< typename std::complex< typename T1::pod_type > > &out, const mtOp< typename std::complex< typename T1::pod_type >, T1, op_cx_scalar_div_pre > &X)
template<typename T1 >
static void op_cx_scalar_div_post::apply (Mat< typename std::complex< typename T1::pod_type > > &out, const mtOp< typename std::complex< typename T1::pod_type >, T1, op_cx_scalar_div_post > &X)

Function Documentation

template<typename T1 >
void op_cx_scalar_times::apply ( Mat< typename std::complex< typename T1::pod_type > > &  out,
const mtOp< typename std::complex< typename T1::pod_type >, T1, op_cx_scalar_times > &  X 
) [inline, static, inherited]

Definition at line 26 of file op_cx_scalar_meat.hpp.

00030   {
00031   arma_extra_debug_sigprint();
00032   
00033   typedef typename std::complex<typename T1::pod_type> eT;
00034   typedef typename T1::pod_type                         T;
00035   
00036   const Proxy<T1> A(X.m);
00037   
00038   out.set_size(A.n_rows, A.n_cols);
00039   
00040   const u32 n_elem  = A.n_elem;
00041   const eT  k       = X.aux_out_eT;
00042         eT* out_mem = out.memptr();
00043   
00044   for(u32 i=0; i<n_elem; ++i)
00045     {
00046     out_mem[i] = A[i] * k;
00047     }
00048   }

template<typename T1 >
void op_cx_scalar_plus::apply ( Mat< typename std::complex< typename T1::pod_type > > &  out,
const mtOp< typename std::complex< typename T1::pod_type >, T1, op_cx_scalar_plus > &  X 
) [inline, static, inherited]

Definition at line 56 of file op_cx_scalar_meat.hpp.

00060   {
00061   arma_extra_debug_sigprint();
00062   
00063   typedef typename std::complex<typename T1::pod_type> eT;
00064   typedef typename T1::pod_type                         T;
00065   
00066   const Proxy<T1> A(X.m);
00067   
00068   out.set_size(A.n_rows, A.n_cols);
00069   
00070   const u32 n_elem  = A.n_elem;
00071   const eT  k       = X.aux_out_eT;
00072         eT* out_mem = out.memptr();
00073   
00074   for(u32 i=0; i<n_elem; ++i)
00075     {
00076     out_mem[i] = A[i] + k;
00077     }
00078   }

template<typename T1 >
void op_cx_scalar_minus_pre::apply ( Mat< typename std::complex< typename T1::pod_type > > &  out,
const mtOp< typename std::complex< typename T1::pod_type >, T1, op_cx_scalar_minus_pre > &  X 
) [inline, static, inherited]

Definition at line 86 of file op_cx_scalar_meat.hpp.

00090   {
00091   arma_extra_debug_sigprint();
00092   
00093   typedef typename std::complex<typename T1::pod_type> eT;
00094   typedef typename T1::pod_type                         T;
00095   
00096   const Proxy<T1> A(X.m);
00097   
00098   out.set_size(A.n_rows, A.n_cols);
00099   
00100   const u32 n_elem  = A.n_elem;
00101   const eT  k       = X.aux_out_eT;
00102         eT* out_mem = out.memptr();
00103   
00104   for(u32 i=0; i<n_elem; ++i)
00105     {
00106     out_mem[i] = k - A[i];
00107     }
00108   }

template<typename T1 >
void op_cx_scalar_minus_post::apply ( Mat< typename std::complex< typename T1::pod_type > > &  out,
const mtOp< typename std::complex< typename T1::pod_type >, T1, op_cx_scalar_minus_post > &  X 
) [inline, static, inherited]

Definition at line 116 of file op_cx_scalar_meat.hpp.

00120   {
00121   arma_extra_debug_sigprint();
00122   
00123   typedef typename std::complex<typename T1::pod_type> eT;
00124   typedef typename T1::pod_type                         T;
00125   
00126   const Proxy<T1> A(X.m);
00127   
00128   out.set_size(A.n_rows, A.n_cols);
00129   
00130   const u32 n_elem  = A.n_elem;
00131   const eT  k       = X.aux_out_eT;
00132         eT* out_mem = out.memptr();
00133   
00134   for(u32 i=0; i<n_elem; ++i)
00135     {
00136     out_mem[i] = A[i] - k;
00137     }
00138   }

template<typename T1 >
void op_cx_scalar_div_pre::apply ( Mat< typename std::complex< typename T1::pod_type > > &  out,
const mtOp< typename std::complex< typename T1::pod_type >, T1, op_cx_scalar_div_pre > &  X 
) [inline, static, inherited]

Definition at line 146 of file op_cx_scalar_meat.hpp.

00150   {
00151   arma_extra_debug_sigprint();
00152   
00153   typedef typename std::complex<typename T1::pod_type> eT;
00154   typedef typename T1::pod_type                         T;
00155   
00156   const Proxy<T1> A(X.m);
00157   
00158   out.set_size(A.n_rows, A.n_cols);
00159   
00160   const u32 n_elem  = A.n_elem;
00161   const eT  k       = X.aux_out_eT;
00162         eT* out_mem = out.memptr();
00163   
00164   for(u32 i=0; i<n_elem; ++i)
00165     {
00166     out_mem[i] = k / A[i];
00167     }
00168   }

template<typename T1 >
void op_cx_scalar_div_post::apply ( Mat< typename std::complex< typename T1::pod_type > > &  out,
const mtOp< typename std::complex< typename T1::pod_type >, T1, op_cx_scalar_div_post > &  X 
) [inline, static, inherited]

Definition at line 176 of file op_cx_scalar_meat.hpp.

00180   {
00181   arma_extra_debug_sigprint();
00182   
00183   typedef typename std::complex<typename T1::pod_type> eT;
00184   typedef typename T1::pod_type                         T;
00185   
00186   const Proxy<T1> A(X.m);
00187   
00188   out.set_size(A.n_rows, A.n_cols);
00189   
00190   const u32 n_elem  = A.n_elem;
00191   const eT  k       = X.aux_out_eT;
00192         eT* out_mem = out.memptr();
00193   
00194   for(u32 i=0; i<n_elem; ++i)
00195     {
00196     out_mem[i] = A[i] / k;
00197     }
00198   }