Classes | Functions

Op_cx_scalar

//! More...

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)

Detailed Description

//!


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.

  {
  arma_extra_debug_sigprint();
  
  typedef typename std::complex<typename T1::pod_type> eT;
  typedef typename T1::pod_type                         T;
  
  const Proxy<T1> A(X.m);
  
  out.set_size(A.n_rows, A.n_cols);
  
  const u32 n_elem  = A.n_elem;
  const eT  k       = X.aux_out_eT;
        eT* out_mem = out.memptr();
  
  for(u32 i=0; i<n_elem; ++i)
    {
    out_mem[i] = A[i] * k;
    }
  }

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.

  {
  arma_extra_debug_sigprint();
  
  typedef typename std::complex<typename T1::pod_type> eT;
  typedef typename T1::pod_type                         T;
  
  const Proxy<T1> A(X.m);
  
  out.set_size(A.n_rows, A.n_cols);
  
  const u32 n_elem  = A.n_elem;
  const eT  k       = X.aux_out_eT;
        eT* out_mem = out.memptr();
  
  for(u32 i=0; i<n_elem; ++i)
    {
    out_mem[i] = A[i] + k;
    }
  }

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.

  {
  arma_extra_debug_sigprint();
  
  typedef typename std::complex<typename T1::pod_type> eT;
  typedef typename T1::pod_type                         T;
  
  const Proxy<T1> A(X.m);
  
  out.set_size(A.n_rows, A.n_cols);
  
  const u32 n_elem  = A.n_elem;
  const eT  k       = X.aux_out_eT;
        eT* out_mem = out.memptr();
  
  for(u32 i=0; i<n_elem; ++i)
    {
    out_mem[i] = k - A[i];
    }
  }

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.

  {
  arma_extra_debug_sigprint();
  
  typedef typename std::complex<typename T1::pod_type> eT;
  typedef typename T1::pod_type                         T;
  
  const Proxy<T1> A(X.m);
  
  out.set_size(A.n_rows, A.n_cols);
  
  const u32 n_elem  = A.n_elem;
  const eT  k       = X.aux_out_eT;
        eT* out_mem = out.memptr();
  
  for(u32 i=0; i<n_elem; ++i)
    {
    out_mem[i] = A[i] - k;
    }
  }

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.

  {
  arma_extra_debug_sigprint();
  
  typedef typename std::complex<typename T1::pod_type> eT;
  typedef typename T1::pod_type                         T;
  
  const Proxy<T1> A(X.m);
  
  out.set_size(A.n_rows, A.n_cols);
  
  const u32 n_elem  = A.n_elem;
  const eT  k       = X.aux_out_eT;
        eT* out_mem = out.memptr();
  
  for(u32 i=0; i<n_elem; ++i)
    {
    out_mem[i] = k / A[i];
    }
  }

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.

  {
  arma_extra_debug_sigprint();
  
  typedef typename std::complex<typename T1::pod_type> eT;
  typedef typename T1::pod_type                         T;
  
  const Proxy<T1> A(X.m);
  
  out.set_size(A.n_rows, A.n_cols);
  
  const u32 n_elem  = A.n_elem;
  const eT  k       = X.aux_out_eT;
        eT* out_mem = out.memptr();
  
  for(u32 i=0; i<n_elem; ++i)
    {
    out_mem[i] = A[i] / k;
    }
  }