49 :
Mat<eT>(in_n_elem, 1)
111 template<
typename eT>
129 template<
typename eT>
149 #if defined(ARMA_USE_CXX11) 151 template<
typename eT>
168 template<
typename eT>
190 template<
typename eT>
204 template<
typename eT>
205 template<
typename T1>
218 template<
typename eT>
219 template<
typename T1>
234 template<
typename eT>
237 :
Mat<eT>(aux_mem, aux_length, 1, copy_aux_mem, strict)
247 template<
typename eT>
250 :
Mat<eT>(aux_mem, aux_length, 1)
259 template<
typename eT>
260 template<
typename T1,
typename T2>
277 template<
typename eT>
278 template<
typename T1>
291 template<
typename eT>
292 template<
typename T1>
306 template<
typename eT>
319 template<
typename eT>
333 template<
typename eT>
343 template<
typename eT>
355 template<
typename eT>
367 template<
typename eT>
376 const uword subview_n_rows = in_row2 - in_row1 + 1;
383 template<
typename eT>
392 const uword subview_n_rows = in_row2 - in_row1 + 1;
399 template<
typename eT>
408 const uword subview_n_rows = in_row2 - in_row1 + 1;
415 template<
typename eT>
424 const uword subview_n_rows = in_row2 - in_row1 + 1;
431 template<
typename eT>
438 const bool row_all = row_span.
whole;
442 const uword in_row1 = row_all ? 0 : row_span.
a;
443 const uword in_row2 = row_span.
b;
444 const uword subvec_n_rows = row_all ? local_n_rows : in_row2 - in_row1 + 1;
446 arma_debug_check( ( row_all ?
false : ((in_row1 > in_row2) || (in_row2 >= local_n_rows)) ),
"Col::subvec(): indices out of bounds or incorrectly used");
453 template<
typename eT>
460 const bool row_all = row_span.
whole;
464 const uword in_row1 = row_all ? 0 : row_span.
a;
465 const uword in_row2 = row_span.
b;
466 const uword subvec_n_rows = row_all ? local_n_rows : in_row2 - in_row1 + 1;
468 arma_debug_check( ( row_all ?
false : ((in_row1 > in_row2) || (in_row2 >= local_n_rows)) ),
"Col::subvec(): indices out of bounds or incorrectly used");
500 template<
typename eT>
515 template<
typename eT>
525 "Col::shed_rows(): indices out of bounds or incorrectly used" 528 const uword n_keep_front = in_row1;
531 Col<eT> X(n_keep_front + n_keep_back);
534 const eT* t_mem = (*this).memptr();
543 arrayops::copy( &(X_mem[n_keep_front]), &(t_mem[in_row2+1]), n_keep_back);
553 template<
typename eT>
562 const uword A_n_rows = row_num;
563 const uword B_n_rows = t_n_rows - row_num;
566 arma_debug_check( (row_num > t_n_rows),
"Col::insert_rows(): out of bounds");
572 eT* out_mem = out.
memptr();
573 const eT* t_mem = (*this).memptr();
582 arrayops::copy( &(out_mem[row_num + N]), &(t_mem[row_num]), B_n_rows );
585 if(set_to_zero ==
true)
598 template<
typename eT>
599 template<
typename T1>
611 template<
typename eT>
625 template<
typename eT>
639 template<
typename eT>
653 template<
typename eT>
667 template<
typename eT>
668 template<uword fixed_n_elem>
685 template<
typename eT>
686 template<uword fixed_n_elem>
699 template<
typename eT>
700 template<uword fixed_n_elem>
711 template<
typename eT>
712 template<uword fixed_n_elem>
727 template<
typename eT>
728 template<uword fixed_n_elem>
741 template<
typename eT>
742 template<uword fixed_n_elem>
743 template<
typename T1>
756 template<
typename eT>
757 template<uword fixed_n_elem>
758 template<
typename T1,
typename T2>
771 template<
typename eT>
772 template<uword fixed_n_elem>
784 if(copy_aux_mem ==
true)
800 template<
typename eT>
801 template<uword fixed_n_elem>
817 template<
typename eT>
818 template<uword fixed_n_elem>
836 template<
typename eT>
837 template<uword fixed_n_elem>
852 template<
typename eT>
853 template<uword fixed_n_elem>
854 template<
typename T1>
867 template<
typename eT>
868 template<uword fixed_n_elem>
881 template<
typename eT>
882 template<uword fixed_n_elem>
897 template<
typename eT>
898 template<uword fixed_n_elem>
913 template<
typename eT>
914 template<uword fixed_n_elem>
927 template<
typename eT>
928 template<uword fixed_n_elem>
940 template<
typename eT>
941 template<uword fixed_n_elem>
953 template<
typename eT>
954 template<uword fixed_n_elem>
966 template<
typename eT>
967 template<uword fixed_n_elem>
979 template<
typename eT>
980 template<uword fixed_n_elem>
992 template<
typename eT>
993 template<uword fixed_n_elem>
1005 template<
typename eT>
1006 template<uword fixed_n_elem>
1017 template<
typename eT>
1018 template<uword fixed_n_elem>
1029 template<
typename eT>
1030 template<uword fixed_n_elem>
1041 template<
typename eT>
1042 template<uword fixed_n_elem>
1053 template<
typename eT>
1054 template<uword fixed_n_elem>
1060 arma_debug_check( (i >= fixed_n_elem),
"Col::fixed::operator(): out of bounds");
1067 template<
typename eT>
1068 template<uword fixed_n_elem>
1074 arma_debug_check( (i >= fixed_n_elem),
"Col::fixed::operator(): out of bounds");
1081 template<
typename eT>
1082 template<uword fixed_n_elem>
1093 template<
typename eT>
1094 template<uword fixed_n_elem>
1105 template<
typename eT>
1106 template<uword fixed_n_elem>
1112 arma_debug_check( ((in_row >= fixed_n_elem) || (in_col >= 1)),
"Col::fixed::operator(): out of bounds" );
1119 template<
typename eT>
1120 template<uword fixed_n_elem>
1126 arma_debug_check( ((in_row >= fixed_n_elem) || (in_col >= 1)),
"Col::fixed::operator(): out of bounds" );
1133 template<
typename eT>
1134 template<uword fixed_n_elem>
1149 template<
typename eT>
1150 template<uword fixed_n_elem>
1165 template<
typename eT>
1166 template<uword fixed_n_elem>
1181 #ifdef ARMA_EXTRA_COL_MEAT 1182 #include ARMA_INCFILE_WRAP(ARMA_EXTRA_COL_MEAT)
arma_inline arma_warn_unused eT * memptr()
returns a pointer to array of eTs used by the matrix
arma_hot static arma_inline void copy(eT *dest, const eT *src, const uword n_elem)
arma_inline const derived & get_ref() const
void init_warm(uword in_rows, uword in_cols)
internal matrix construction; if the requested size is small enough, memory from the stack is used...
mat_injector< Col > operator<<(const eT val)
const uword n_elem
number of elements in the matrix (read-only)
const Col & operator=(const char *text)
construct a column vector from specified text
arma_inline eT & row(const uword row_num)
void insert_rows(const uword row_num, const uword N, const bool set_to_zero=true)
Col()
construct an empty column vector
arma_inline subview_col< eT > rows(const uword in_row1, const uword in_row2)
Class for column vectors (matrices with only one column)
void init(const std::string &text)
internal function to create the matrix from a textual description
static arma_inline T1 & rw(const T1 &x)
internal function to allow modification of data declared as read-only
static arma_hot void inplace_set(eT *dest, const eT val, const uword n_elem)
arma_inline arma_warn_unused eT & at(const uword i)
linear element accessor (treats the matrix as a vector); no bounds check.
subview_row< eT > operator()(const uword row_num, const span &col_span)
#define arma_extra_debug_sigprint_this
arma_inline arma_warn_unused eT & operator[](const uword i)
linear element accessor (treats the matrix as a vector); no bounds check.
const Mat & operator=(const char *text)
create the matrix from a textual description
get_pod_type< eT >::result pod_type
void insert_rows(const uword row_num, const uword N, const bool set_to_zero=true)
row_iterator begin_row(const uword row_num)
#define arma_extra_debug_sigprint
Analog of the Base class, intended for cubes.
arma_inline subview_col< eT > subvec(const uword in_row1, const uword in_row2)
arma_aligned const eT *const mem
pointer to the memory used by the matrix (memory is read-only)
void shed_row(const uword row_num)
remove specified row
const eT * const_row_iterator
void shed_rows(const uword in_row1, const uword in_row2)
remove specified rows
arma_hot const Mat & fill(const eT val)
fill the matrix with the specified value
row_iterator end_row(const uword row_num)