예제 #1
0
inline
Col<eT>::Col(const uword in_n_rows, const uword in_n_cols)
  : Mat<eT>(arma_vec_indicator(), 0, 0, 1)
  {
  arma_extra_debug_sigprint();
  
  Mat<eT>::init_warm(in_n_rows, in_n_cols);
  }
예제 #2
0
inline
Col<eT>::Col(const uword in_n_elem, const fill::fill_class<fill_type>& f)
  : Mat<eT>(arma_vec_indicator(), in_n_elem, 1, 1)
  {
  arma_extra_debug_sigprint();
  
  (*this).fill(f);
  }
예제 #3
0
inline
Col<eT>::Col(const Base<eT,T1>& X)
  : Mat<eT>(arma_vec_indicator(), 1)
  {
  arma_extra_debug_sigprint();
  
  Mat<eT>::operator=(X.get_ref());
  }
예제 #4
0
inline
Col<eT>::Col(const Col<eT>& X)
  : Mat<eT>(arma_vec_indicator(), X.n_elem, 1, 1)
  {
  arma_extra_debug_sigprint();
  
  arrayops::copy((*this).memptr(), X.memptr(), X.n_elem);
  }
예제 #5
0
inline
Row<eT>::Row(const SizeMat& s)
    : Mat<eT>(arma_vec_indicator(), 2)
{
    arma_extra_debug_sigprint();

    Mat<eT>::init_warm(s.n_rows, s.n_cols);
}
예제 #6
0
inline
Row<eT>::Row(const uword in_n_rows, const uword in_n_cols)
    : Mat<eT>(arma_vec_indicator(), 2)
{
    arma_extra_debug_sigprint();

    Mat<eT>::init_warm(in_n_rows, in_n_cols);
}
예제 #7
0
inline
Row<eT>::Row(const Row<eT>& X)
    : Mat<eT>(arma_vec_indicator(), 1, X.n_elem, 2)
{
    arma_extra_debug_sigprint();

    arrayops::copy((*this).memptr(), X.memptr(), X.n_elem);
}
예제 #8
0
inline
Col<eT>::Col(const uword in_n_rows, const uword in_n_cols, const fill::fill_class<fill_type>& f)
  : Mat<eT>(arma_vec_indicator(), 0, 0, 1)
  {
  arma_extra_debug_sigprint();
  
  Mat<eT>::init_warm(in_n_rows, in_n_cols);
  
  (*this).fill(f);
  }
예제 #9
0
inline
Row<eT>::Row(const SizeMat& s, const fill::fill_class<fill_type>& f)
    : Mat<eT>(arma_vec_indicator(), 2)
{
    arma_extra_debug_sigprint();

    Mat<eT>::init_warm(s.n_rows, s.n_cols);

    (*this).fill(f);
}
예제 #10
0
inline
Col<eT>::Col(const std::vector<eT>& x)
  : Mat<eT>(arma_vec_indicator(), uword(x.size()), 1, 1)
  {
  arma_extra_debug_sigprint_this(this);
  
  if(x.size() > 0)
    {
    arrayops::copy( Mat<eT>::memptr(), &(x[0]), uword(x.size()) );
    }
  }
예제 #11
0
inline
Col<eT>::Col(const SpCol<eT>& X)
  : Mat<eT>(arma_vec_indicator(), X.n_elem, 1, 1)
  {
  arma_extra_debug_sigprint_this(this);

  arrayops::inplace_set(Mat<eT>::memptr(), eT(0), X.n_elem);

  for(typename SpCol<eT>::const_iterator it = X.begin(); it != X.end(); ++it)
    at(it.row()) = (*it);
  }
예제 #12
0
 inline
 Col<eT>::Col(Col<eT>&& X)
   : Mat<eT>(arma_vec_indicator(), 1)
   {
   arma_extra_debug_sigprint(arma_boost::format("this = %x   X = %x") % this % &X);
   
   access::rw(Mat<eT>::n_rows) = X.n_rows;
   access::rw(Mat<eT>::n_cols) = 1;
   access::rw(Mat<eT>::n_elem) = X.n_elem;
   
   if( ((X.mem_state == 0) && (X.n_elem > arma_config::mat_prealloc)) || (X.mem_state == 1) || (X.mem_state == 2) )
     {
     access::rw(Mat<eT>::mem_state) = X.mem_state;
     access::rw(Mat<eT>::mem)       = X.mem;
     
     access::rw(X.n_rows)    = 0;
     access::rw(X.n_cols)    = 1;
     access::rw(X.n_elem)    = 0;
     access::rw(X.mem_state) = 0;
     access::rw(X.mem)       = 0;
     }
   else
     {
     (*this).init_cold();
     
     arrayops::copy( (*this).memptr(), X.mem, X.n_elem );
     
     if( (X.mem_state == 0) && (X.n_elem <= arma_config::mat_prealloc) )
       {
       access::rw(X.n_rows) = 0;
       access::rw(X.n_cols) = 1;
       access::rw(X.n_elem) = 0;
       access::rw(X.mem)    = 0;
       }
     }
   }
예제 #13
0
inline
Col<eT>::Col(const uword in_n_elem)
  : Mat<eT>(arma_vec_indicator(), in_n_elem, 1, 1)
  {
  arma_extra_debug_sigprint();
  }
예제 #14
0
inline
Col<eT>::Col()
  : Mat<eT>(arma_vec_indicator(), 1)
  {
  arma_extra_debug_sigprint();
  }
예제 #15
0
inline
Row<eT>::Row(const uword in_n_elem)
    : Mat<eT>(arma_vec_indicator(), 1, in_n_elem, 2)
{
    arma_extra_debug_sigprint();
}
예제 #16
0
inline
Row<eT>::Row()
    : Mat<eT>(arma_vec_indicator(), 2)
{
    arma_extra_debug_sigprint();
}