49 :
Mat<eT>(1, in_n_elem)
111 template<
typename eT>
125 #if defined(ARMA_USE_CXX11) 127 template<
typename eT>
140 template<
typename eT>
156 template<
typename eT>
170 template<
typename eT>
171 template<
typename T1>
184 template<
typename eT>
185 template<
typename T1>
200 template<
typename eT>
203 :
Mat<eT>(aux_mem, 1, aux_length, copy_aux_mem, strict)
213 template<
typename eT>
216 :
Mat<eT>(aux_mem, 1, aux_length)
225 template<
typename eT>
226 template<
typename T1,
typename T2>
243 template<
typename eT>
244 template<
typename T1>
257 template<
typename eT>
258 template<
typename T1>
272 template<
typename eT>
285 template<
typename eT>
299 template<
typename eT>
309 template<
typename eT>
321 template<
typename eT>
333 template<
typename eT>
342 const uword subview_n_cols = in_col2 - in_col1 + 1;
349 template<
typename eT>
358 const uword subview_n_cols = in_col2 - in_col1 + 1;
365 template<
typename eT>
374 const uword subview_n_cols = in_col2 - in_col1 + 1;
381 template<
typename eT>
390 const uword subview_n_cols = in_col2 - in_col1 + 1;
397 template<
typename eT>
404 const bool col_all = col_span.
whole;
408 const uword in_col1 = col_all ? 0 : col_span.
a;
409 const uword in_col2 = col_span.
b;
410 const uword subvec_n_cols = col_all ? local_n_cols : in_col2 - in_col1 + 1;
412 arma_debug_check( ( col_all ?
false : ((in_col1 > in_col2) || (in_col2 >= local_n_cols)) ),
"Row::subvec(): indices out of bounds or incorrectly used");
419 template<
typename eT>
426 const bool col_all = col_span.
whole;
430 const uword in_col1 = col_all ? 0 : col_span.
a;
431 const uword in_col2 = col_span.
b;
432 const uword subvec_n_cols = col_all ? local_n_cols : in_col2 - in_col1 + 1;
434 arma_debug_check( ( col_all ?
false : ((in_col1 > in_col2) || (in_col2 >= local_n_cols)) ),
"Row::subvec(): indices out of bounds or incorrectly used");
466 template<
typename eT>
481 template<
typename eT>
491 "Row::shed_cols(): indices out of bounds or incorrectly used" 494 const uword n_keep_front = in_col1;
497 Row<eT> X(n_keep_front + n_keep_back);
500 const eT* t_mem = (*this).memptr();
509 arrayops::copy( &(X_mem[n_keep_front]), &(t_mem[in_col2+1]), n_keep_back);
519 template<
typename eT>
528 const uword A_n_cols = col_num;
529 const uword B_n_cols = t_n_cols - col_num;
532 arma_debug_check( (col_num > t_n_cols),
"Row::insert_cols(): out of bounds");
538 eT* out_mem = out.
memptr();
539 const eT* t_mem = (*this).memptr();
548 arrayops::copy( &(out_mem[col_num + N]), &(t_mem[col_num]), B_n_cols );
551 if(set_to_zero ==
true)
564 template<
typename eT>
565 template<
typename T1>
577 template<
typename eT>
591 template<
typename eT>
605 template<
typename eT>
619 template<
typename eT>
633 template<
typename eT>
634 template<uword fixed_n_elem>
651 template<
typename eT>
652 template<uword fixed_n_elem>
663 template<
typename eT>
664 template<uword fixed_n_elem>
679 template<
typename eT>
680 template<uword fixed_n_elem>
693 template<
typename eT>
694 template<uword fixed_n_elem>
695 template<
typename T1>
708 template<
typename eT>
709 template<uword fixed_n_elem>
710 template<
typename T1,
typename T2>
723 template<
typename eT>
724 template<uword fixed_n_elem>
736 if(copy_aux_mem ==
true)
752 template<
typename eT>
753 template<uword fixed_n_elem>
766 template<
typename eT>
767 template<uword fixed_n_elem>
780 template<
typename eT>
781 template<uword fixed_n_elem>
794 template<
typename eT>
795 template<uword fixed_n_elem>
807 template<
typename eT>
808 template<uword fixed_n_elem>
809 template<
typename T1>
822 template<
typename eT>
823 template<uword fixed_n_elem>
836 template<
typename eT>
837 template<uword fixed_n_elem>
850 template<
typename eT>
851 template<uword fixed_n_elem>
864 template<
typename eT>
865 template<uword fixed_n_elem>
878 template<
typename eT>
879 template<uword fixed_n_elem>
891 template<
typename eT>
892 template<uword fixed_n_elem>
904 template<
typename eT>
905 template<uword fixed_n_elem>
917 template<
typename eT>
918 template<uword fixed_n_elem>
930 template<
typename eT>
931 template<uword fixed_n_elem>
943 template<
typename eT>
944 template<uword fixed_n_elem>
955 template<
typename eT>
956 template<uword fixed_n_elem>
967 template<
typename eT>
968 template<uword fixed_n_elem>
979 template<
typename eT>
980 template<uword fixed_n_elem>
991 template<
typename eT>
992 template<uword fixed_n_elem>
998 arma_debug_check( (i >= fixed_n_elem),
"Row::fixed::operator(): out of bounds");
1005 template<
typename eT>
1006 template<uword fixed_n_elem>
1012 arma_debug_check( (i >= fixed_n_elem),
"Row::fixed::operator(): out of bounds");
1019 template<
typename eT>
1020 template<uword fixed_n_elem>
1031 template<
typename eT>
1032 template<uword fixed_n_elem>
1043 template<
typename eT>
1044 template<uword fixed_n_elem>
1050 arma_debug_check( ((in_row >= 1) || (in_col >= fixed_n_elem)),
"Row::fixed::operator(): out of bounds" );
1057 template<
typename eT>
1058 template<uword fixed_n_elem>
1064 arma_debug_check( ((in_row >= 1) || (in_col >= fixed_n_elem)),
"Row::fixed::operator(): out of bounds" );
1071 template<
typename eT>
1072 template<uword fixed_n_elem>
1087 template<
typename eT>
1088 template<uword fixed_n_elem>
1103 template<
typename eT>
1104 template<uword fixed_n_elem>
1119 #ifdef ARMA_EXTRA_ROW_MEAT 1120 #include ARMA_INCFILE_WRAP(ARMA_EXTRA_ROW_MEAT)
void shed_cols(const uword in_col1, const uword in_col2)
remove specified columns
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
const Row & operator=(const char *text)
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...
const eT * const_row_iterator
void shed_col(const uword col_num)
remove specified columns
get_pod_type< eT >::result pod_type
const uword n_elem
number of elements in the matrix (read-only)
arma_inline subview_row< eT > cols(const uword in_col1, const uword in_col2)
void insert_cols(const uword col_num, const uword N, const bool set_to_zero=true)
row_iterator begin_row(const uword row_num)
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
row_iterator end_row(const uword row_num)
Class for row vectors (matrices with only one row)
void insert_cols(const uword col_num, const uword N, const bool set_to_zero=true)
mat_injector< Row > operator<<(const eT val)
#define arma_extra_debug_sigprint
arma_inline eT & col(const uword col_num)
Analog of the Base class, intended for cubes.
arma_inline subview_row< eT > subvec(const uword in_col1, const uword in_col2)
Row()
construct an empty row vector
arma_aligned const eT *const mem
pointer to the memory used by the matrix (memory is read-only)
arma_hot const Mat & fill(const eT val)
fill the matrix with the specified value