Mat< eT > Class Template Reference
[Mat]

Dense matrix class. More...

#include <Mat_proto.hpp>

Inheritance diagram for Mat< eT >:

Base< eT, Mat< eT > > Col< eT > Row< eT >

List of all members.

Public Types

typedef eT elem_type
 the type of elements stored in the matrix
typedef get_pod_type
< elem_type >::pod_type 
pod_type
 if eT is std::complex, pod_type is the underlying type used by std::complex. < otherwise pod_type is the same as elem_type

Public Member Functions

 ~Mat ()
 Mat ()
 Mat (const u32 in_rows, const u32 in_cols)
 construct the matrix to have user specified dimensions
void set_size (const u32 in_rows, const u32 in_cols)
 change the matrix to have user specified dimensions (data is not preserved)
 Mat (const char *text)
 create the matrix from a textual description
const Matoperator= (const char *text)
 create the matrix from a textual description
 Mat (const std::string &text)
 create the matrix from a textual description
const Matoperator= (const std::string &text)
 create the matrix from a textual description
 Mat (const eT *aux_mem, const u32 aux_n_rows, const u32 aux_n_cols)
 construct a matrix from a given auxillary array of eTs
arma_inline const Matoperator= (const eT val)
 Set the matrix to be equal to the specified scalar. NOTE: the size of the matrix will be 1x1.
arma_inline const Matoperator+= (const eT val)
 In-place addition of a scalar to all elements of the matrix.
arma_inline const Matoperator-= (const eT val)
 In-place subtraction of a scalar from all elements of the matrix.
arma_inline const Matoperator*= (const eT val)
 In-place multiplication of all elements of the matrix with a scalar.
arma_inline const Matoperator/= (const eT val)
 In-place division of all elements of the matrix with a scalar.
 Mat (const Mat &m)
 construct a matrix from a given matrix
const Matoperator= (const Mat &m)
 construct a matrix from a given matrix
const Matoperator+= (const Mat &m)
 in-place matrix addition
const Matoperator-= (const Mat &m)
 in-place matrix subtraction
const Matoperator*= (const Mat &m)
 in-place matrix multiplication
const Matoperator%= (const Mat &m)
 in-place element-wise matrix multiplication
const Matoperator/= (const Mat &m)
 in-place element-wise matrix division
template<typename T1 , typename T2 >
 Mat (const Base< pod_type, T1 > &A, const Base< pod_type, T2 > &B)
 Mat (const subview< eT > &X)
 construct a matrix from subview (e.g. construct a matrix from a delayed submatrix operation)
const Matoperator= (const subview< eT > &X)
 construct a matrix from subview (e.g. construct a matrix from a delayed submatrix operation)
const Matoperator+= (const subview< eT > &X)
 in-place matrix addition (using a submatrix on the right-hand-side)
const Matoperator-= (const subview< eT > &X)
 in-place matrix subtraction (using a submatrix on the right-hand-side)
const Matoperator*= (const subview< eT > &X)
 in-place matrix mutiplication (using a submatrix on the right-hand-side)
const Matoperator%= (const subview< eT > &X)
 in-place element-wise matrix mutiplication (using a submatrix on the right-hand-side)
const Matoperator/= (const subview< eT > &X)
 in-place element-wise matrix division (using a submatrix on the right-hand-side)
 Mat (const diagview< eT > &X)
 construct a matrix from diagview (e.g. construct a matrix from a delayed diag operation)
const Matoperator= (const diagview< eT > &X)
 construct a matrix from diagview (e.g. construct a matrix from a delayed diag operation)
arma_inline subview_row< eT > row (const u32 row_num)
 creation of subview (row vector)
arma_inline const subview_row< eT > row (const u32 row_num) const
 creation of subview (row vector)
arma_inline subview_col< eT > col (const u32 col_num)
 creation of subview (column vector)
arma_inline const subview_col< eT > col (const u32 col_num) const
 creation of subview (column vector)
arma_inline subview< eT > rows (const u32 in_row1, const u32 in_row2)
 creation of subview (submatrix comprised of specified row vectors)
arma_inline const subview< eT > rows (const u32 in_row1, const u32 in_row2) const
 creation of subview (submatrix comprised of specified row vectors)
arma_inline subview< eT > cols (const u32 in_col1, const u32 in_col2)
 creation of subview (submatrix comprised of specified column vectors)
arma_inline const subview< eT > cols (const u32 in_col1, const u32 in_col2) const
 creation of subview (submatrix comprised of specified column vectors)
arma_inline subview< eT > submat (const u32 in_row1, const u32 in_col1, const u32 in_row2, const u32 in_col2)
 creation of subview (submatrix)
arma_inline const subview< eT > submat (const u32 in_row1, const u32 in_col1, const u32 in_row2, const u32 in_col2) const
 creation of subview (generic submatrix)
arma_inline diagview< eT > diag (const s32 in_id=0)
 creation of diagview (diagonal)
arma_inline const diagview< eT > diag (const s32 in_id=0) const
 creation of diagview (diagonal)
void swap_rows (const u32 in_row1, const u32 in_row2)
void swap_cols (const u32 in_col1, const u32 in_col2)
template<typename T1 , typename op_type >
 Mat (const Op< T1, op_type > &X)
 create a matrix from Op, i.e. run the previously delayed unary operations
template<typename T1 , typename op_type >
const Matoperator= (const Op< T1, op_type > &X)
 create a matrix from Op, i.e. run the previously delayed unary operations
template<typename T1 , typename op_type >
const Matoperator+= (const Op< T1, op_type > &X)
 in-place matrix addition, with the right-hand-side operand having delayed operations
template<typename T1 , typename op_type >
const Matoperator-= (const Op< T1, op_type > &X)
 in-place matrix subtraction, with the right-hand-side operand having delayed operations
template<typename T1 , typename op_type >
const Matoperator*= (const Op< T1, op_type > &X)
 in-place matrix multiplication, with the right-hand-side operand having delayed operations
template<typename T1 , typename op_type >
const Matoperator%= (const Op< T1, op_type > &X)
 in-place matrix element-wise multiplication, with the right-hand-side operand having delayed operations
template<typename T1 , typename op_type >
const Matoperator/= (const Op< T1, op_type > &X)
 in-place matrix element-wise division, with the right-hand-side operand having delayed operations
template<typename T1 , typename T2 , typename glue_type >
 Mat (const Glue< T1, T2, glue_type > &X)
 create a matrix from Glue, i.e. run the previously delayed binary operations
template<typename T1 , typename T2 , typename glue_type >
const Matoperator= (const Glue< T1, T2, glue_type > &X)
 create a matrix from Glue, i.e. run the previously delayed binary operations
template<typename T1 , typename T2 , typename glue_type >
const Matoperator+= (const Glue< T1, T2, glue_type > &X)
 in-place matrix addition, with the right-hand-side operands having delayed operations
template<typename T1 , typename T2 , typename glue_type >
const Matoperator-= (const Glue< T1, T2, glue_type > &X)
 in-place matrix subtraction, with the right-hand-side operands having delayed operations
template<typename T1 , typename T2 , typename glue_type >
const Matoperator*= (const Glue< T1, T2, glue_type > &X)
 in-place matrix multiplications, with the right-hand-side operands having delayed operations
template<typename T1 , typename T2 , typename glue_type >
const Matoperator%= (const Glue< T1, T2, glue_type > &X)
 in-place matrix element-wise multiplication, with the right-hand-side operands having delayed operations
template<typename T1 , typename T2 , typename glue_type >
const Matoperator/= (const Glue< T1, T2, glue_type > &X)
 in-place matrix element-wise division, with the right-hand-side operands having delayed operations
arma_inline eT & operator[] (const u32 i)
 linear element accessor (treats the matrix as a vector); no bounds check.
arma_inline eT operator[] (const u32 i) const
 linear element accessor (treats the matrix as a vector); no bounds check
arma_inline eT & operator() (const u32 i)
 linear element accessor (treats the matrix as a vector); bounds checking not done when ARMA_NO_DEBUG is defined
arma_inline eT operator() (const u32 i) const
 linear element accessor (treats the matrix as a vector); bounds checking not done when ARMA_NO_DEBUG is defined
arma_inline eT & at (const u32 in_row, const u32 in_col)
 element accessor; no bounds check
arma_inline eT at (const u32 in_row, const u32 in_col) const
 element accessor; no bounds check
arma_inline eT & operator() (const u32 in_row, const u32 in_col)
 element accessor; bounds checking not done when ARMA_NO_DEBUG is defined
arma_inline eT operator() (const u32 in_row, const u32 in_col) const
 element accessor; bounds checking not done when ARMA_NO_DEBUG is defined
arma_inline const Matoperator++ ()
 prefix ++
arma_inline void operator++ (int)
 postfix ++ (must not return the object by reference)
arma_inline const Matoperator-- ()
 prefix --
arma_inline void operator-- (int)
 postfix -- (must not return the object by reference)
arma_inline bool is_vec () const
 returns true if the object can be interpreted as a column or row vector
arma_inline bool is_square () const
 returns true if the object has the same number of non-zero rows and columnns
arma_inline bool is_finite () const
 returns true if all of the elements are finite
arma_inline eT * colptr (const u32 in_col)
 returns a pointer to array of eTs for a specified column; no bounds check
arma_inline const eT * colptr (const u32 in_col) const
 returns a pointer to array of eTs for a specified column; no bounds check
arma_inline eT * memptr ()
 returns a pointer to array of eTs used by the matrix
arma_inline const eT * memptr () const
 returns a pointer to array of eTs used by the matrix
void print (const std::string extra_text="") const
 print contents of the matrix, optionally preceding with a user specified line of text
void fill (const eT val)
 fill the matrix with the specified value
void zeros ()
void zeros (const u32 in_rows, const u32 in_cols)
void reset ()
void save (const std::string name, const file_type type=arma_binary) const
 save the matrix to a file
void load (const std::string name, const file_type type=auto_detect)
 load a matrix from a file
template<typename T1 , typename T2 >
 Mat (const Base< typename Mat< eT >::pod_type, T1 > &A, const Base< typename Mat< eT >::pod_type, T2 > &B)
 for constructing a complex matrix out of two non-complex matrices

Public Attributes

const u32 n_rows
 number of rows in the matrix (read-only)
const u32 n_cols
 number of columns in the matrix (read-only)
const u32 n_elem
 number of elements in the matrix (read-only)
arma_aligned const eT *const mem
 pointer to memory used by the matrix (memory is read-only)

Protected Member Functions

void init (const u32 in_rows, const u32 in_cols)
 internal matrix construction; if the requested size is small enough, memory from the stack is used. otherwise memory is allocated via 'new'
void init (const std::string &text)
 internal function to create the matrix from a textual description
void init (const Mat &x)
 construct a matrix from a given matrix

Protected Attributes

arma_aligned eT mem_local [16]


Detailed Description

template<typename eT>
class Mat< eT >

Dense matrix class.

Definition at line 22 of file Mat_proto.hpp.


Member Typedef Documentation

template<typename eT >
typedef eT Mat< eT >::elem_type

the type of elements stored in the matrix

Reimplemented in Col< eT >, and Row< eT >.

Definition at line 26 of file Mat_proto.hpp.

template<typename eT >
typedef get_pod_type<elem_type>::pod_type Mat< eT >::pod_type

if eT is std::complex, pod_type is the underlying type used by std::complex. < otherwise pod_type is the same as elem_type

Reimplemented in Col< eT >, and Row< eT >.

Definition at line 29 of file Mat_proto.hpp.


Constructor & Destructor Documentation

template<typename eT >
template<typename T1 , typename T2 >
Mat< eT >::Mat ( const Base< pod_type, T1 > &  A,
const Base< pod_type, T2 > &  B 
) [inline, explicit]


Member Data Documentation

template<typename eT >
const u32 Mat< eT >::n_rows

number of rows in the matrix (read-only)

Definition at line 33 of file Mat_proto.hpp.

Referenced by abs(), accu(), op_var::apply(), op_atanh::apply(), op_tanh::apply(), op_atan::apply(), op_tan::apply(), op_asinh::apply(), op_sinh::apply(), op_asin::apply(), op_sin::apply(), op_acosh::apply(), op_cosh::apply(), op_acos::apply(), op_cos::apply(), op_trans::apply(), op_sum::apply(), op_stddev::apply(), op_sort::apply(), op_scalar_div_post::apply(), op_scalar_div_pre::apply(), op_scalar_times::apply(), op_scalar_minus_post::apply(), op_scalar_minus_pre::apply(), op_scalar_plus::apply(), op_ones_diag::apply(), op_neg::apply(), op_conj::apply(), op_pow_s32::apply(), op_pow::apply(), op_square::apply(), op_sqrt::apply(), op_trunc_exp::apply(), op_exp::apply(), op_log10::apply(), op_trunc_log::apply(), op_log::apply(), op_min::apply(), op_median::apply(), op_mean::apply(), op_max::apply(), op_inv::apply(), op_diagmat::apply(), glue_times_vec::apply(), glue_times_diag::apply(), glue_times::apply(), glue_schur_diag::apply(), glue_schur::apply(), glue_plus_diag::apply(), glue_plus::apply(), glue_minus_diag::apply(), glue_minus::apply(), glue_div::apply(), gemv< do_trans_A, use_alpha, use_beta >::apply(), gemv_arma< do_trans_A, use_alpha, use_beta >::apply(), gemm_mixed_simple< do_trans_A, do_trans_B, use_alpha, use_beta >::apply(), gemm_mixed_cache< do_trans_A, do_trans_B, use_alpha, use_beta >::apply(), gemm_emul_simple< do_trans_A, do_trans_B, use_alpha, use_beta >::apply(), gemm_emul_cache< do_trans_A, do_trans_B, use_alpha, use_beta >::apply(), gemm< do_trans_A, do_trans_B, use_alpha, use_beta >::apply_blas_type(), glue_times::apply_inplace(), glue_plus::apply_inplace(), glue_times::apply_mixed(), glue_schur::apply_mixed(), glue_plus::apply_mixed(), glue_minus::apply_mixed(), glue_div::apply_mixed(), op_trans::apply_noalias(), glue_times::apply_noalias(), arma_assert_mul_size(), arma_assert_same_size(), Mat< eT >::at(), auxlib::chol(), Mat< eT >::colptr(), Mat< eT >::cols(), det(), auxlib::det(), Mat< eT >::diag(), glue_times::direct_rowvec_diagmat_colvec(), glue_times::direct_rowvec_invdiagmat_colvec(), glue_times::direct_rowvec_mat_colvec(), subview< eT >::div_inplace(), auxlib::eig_gen(), auxlib::eig_sym(), subview< eT >::extract(), Mat< eT >::init(), auxlib::inv_inplace(), auxlib::inv_noalias(), Mat< eT >::is_square(), Mat< eT >::is_vec(), diskio::load_arma_ascii(), diskio::load_raw_ascii(), auxlib::lu(), subview< eT >::minus_inplace(), glue_times_vec::mul_col_row(), glue_times::mul_storage_cost(), norm(), Mat< eT >::operator()(), operator*(), operator/(), operator<<(), subview< eT >::plus_inplace(), auxlib::qr(), reshape(), Mat< eT >::row(), Mat< eT >::rows(), diskio::save_arma_ascii(), diskio::save_arma_binary(), diskio::save_field_ppm_binary(), diskio::save_pgm_binary(), diskio::save_raw_ascii(), subview< eT >::schur_inplace(), solve(), auxlib::solve(), auxlib::solve_od(), auxlib::solve_ud(), Mat< eT >::submat(), auxlib::svd(), Mat< eT >::swap_cols(), Mat< eT >::swap_rows(), trace(), and op_diagmat::zero_offdiag().

template<typename eT >
const u32 Mat< eT >::n_cols

number of columns in the matrix (read-only)

Definition at line 34 of file Mat_proto.hpp.

Referenced by abs(), accu(), op_var::apply(), op_atanh::apply(), op_tanh::apply(), op_atan::apply(), op_tan::apply(), op_asinh::apply(), op_sinh::apply(), op_asin::apply(), op_sin::apply(), op_acosh::apply(), op_cosh::apply(), op_acos::apply(), op_cos::apply(), op_trans::apply(), op_sum::apply(), op_stddev::apply(), op_sort::apply(), op_scalar_div_post::apply(), op_scalar_div_pre::apply(), op_scalar_times::apply(), op_scalar_minus_post::apply(), op_scalar_minus_pre::apply(), op_scalar_plus::apply(), op_neg::apply(), op_conj::apply(), op_pow_s32::apply(), op_pow::apply(), op_square::apply(), op_sqrt::apply(), op_trunc_exp::apply(), op_exp::apply(), op_log10::apply(), op_trunc_log::apply(), op_log::apply(), op_min::apply(), op_median::apply(), op_mean::apply(), op_max::apply(), op_diagmat::apply(), glue_times_vec::apply(), glue_times_diag::apply(), glue_times::apply(), glue_schur_diag::apply(), glue_schur::apply(), glue_plus_diag::apply(), glue_plus::apply(), glue_minus_diag::apply(), glue_minus::apply(), glue_div::apply(), gemv< do_trans_A, use_alpha, use_beta >::apply(), gemv_arma< do_trans_A, use_alpha, use_beta >::apply(), gemm_mixed_simple< do_trans_A, do_trans_B, use_alpha, use_beta >::apply(), gemm_mixed_cache< do_trans_A, do_trans_B, use_alpha, use_beta >::apply(), gemm_emul_simple< do_trans_A, do_trans_B, use_alpha, use_beta >::apply(), gemm_emul_cache< do_trans_A, do_trans_B, use_alpha, use_beta >::apply(), gemm< do_trans_A, do_trans_B, use_alpha, use_beta >::apply_blas_type(), glue_times::apply_inplace(), glue_plus::apply_inplace(), glue_times::apply_mixed(), glue_schur::apply_mixed(), glue_plus::apply_mixed(), glue_minus::apply_mixed(), glue_div::apply_mixed(), op_trans::apply_noalias(), glue_times::apply_noalias(), arma_assert_mul_size(), arma_assert_same_size(), Mat< eT >::col(), Mat< eT >::cols(), det(), auxlib::det(), Mat< eT >::diag(), glue_times::direct_rowvec_mat_colvec(), subview< eT >::div_inplace(), auxlib::eig_gen(), auxlib::eig_sym(), subview< eT >::extract(), Mat< eT >::init(), auxlib::inv_inplace(), auxlib::inv_noalias(), Mat< eT >::is_square(), Mat< eT >::is_vec(), diskio::load_arma_ascii(), diskio::load_raw_ascii(), auxlib::lu(), Mat< eT >::Mat(), subview< eT >::minus_inplace(), glue_times_vec::mul_col_row(), glue_times::mul_storage_cost(), norm(), Mat< eT >::operator()(), operator*(), operator<<(), subview< eT >::plus_inplace(), auxlib::qr(), reshape(), Mat< eT >::rows(), diskio::save_arma_ascii(), diskio::save_arma_binary(), diskio::save_field_ppm_binary(), diskio::save_pgm_binary(), diskio::save_raw_ascii(), subview< eT >::schur_inplace(), auxlib::solve(), auxlib::solve_od(), auxlib::solve_ud(), Mat< eT >::submat(), auxlib::svd(), Mat< eT >::swap_cols(), Mat< eT >::swap_rows(), trace(), and op_diagmat::zero_offdiag().

template<typename eT >
const u32 Mat< eT >::n_elem

number of elements in the matrix (read-only)

Definition at line 35 of file Mat_proto.hpp.

Referenced by abs(), accu(), accu_schur(), op_var::apply(), op_atanh::apply(), op_tanh::apply(), op_atan::apply(), op_tan::apply(), op_asinh::apply(), op_sinh::apply(), op_asin::apply(), op_sin::apply(), op_acosh::apply(), op_cosh::apply(), op_acos::apply(), op_cos::apply(), op_trans::apply(), op_stddev::apply(), op_sort::apply(), op_scalar_div_post::apply(), op_scalar_div_pre::apply(), op_scalar_times::apply(), op_scalar_minus_post::apply(), op_scalar_minus_pre::apply(), op_scalar_plus::apply(), op_randn::apply(), op_rand::apply(), op_neg::apply(), op_conj::apply(), op_pow_s32::apply(), op_pow::apply(), op_square::apply(), op_sqrt::apply(), op_trunc_exp::apply(), op_exp::apply(), op_log10::apply(), op_trunc_log::apply(), op_log::apply(), op_min::apply(), op_median::apply(), op_mean::apply(), op_max::apply(), op_diagmat_vec::apply(), glue_times::apply(), glue_schur::apply(), glue_plus::apply(), glue_minus::apply(), glue_div::apply(), gemv< do_trans_A, use_alpha, use_beta >::apply(), gemm_mixed< do_trans_A, do_trans_B, use_alpha, use_beta >::apply(), gemm< do_trans_A, do_trans_B, use_alpha, use_beta >::apply(), gemm< do_trans_A, do_trans_B, use_alpha, use_beta >::apply_blas_type(), op_inv::apply_diagvec(), glue_schur::apply_inplace(), glue_plus::apply_inplace(), glue_minus::apply_inplace(), glue_div::apply_inplace(), glue_plus::apply_mixed(), op_trans::apply_noalias(), det(), glue_times::direct_rowvec_invdiagvec_colvec(), subview< eT >::div_inplace(), Mat< eT >::fill(), conv_to< Col< out_eT > >::from(), conv_to< Row< out_eT > >::from(), conv_to< Mat< out_eT > >::from(), conv_to< out_eT >::from(), imag(), Mat< eT >::init(), Mat< eT >::is_finite(), Mat< eT >::is_square(), diskio::load_arma_binary(), diskio::load_field_ppm_binary(), diskio::load_pgm_binary(), Mat< eT >::Mat(), max(), mean(), median(), min(), norm(), Mat< eT >::operator()(), operator*(), Mat< eT >::operator*=(), Mat< eT >::operator+=(), Mat< eT >::operator-=(), Mat< eT >::operator/=(), subview< eT >::plus_inplace(), Mat_aux::postfix_mm(), Mat_aux::postfix_pp(), Mat_aux::prefix_mm(), Mat_aux::prefix_pp(), auxlib::qr(), real(), diskio::save_arma_binary(), diskio::save_field_ppm_binary(), diskio::save_pgm_binary(), subview< eT >::schur_inplace(), arma_ostream::set_flags(), stddev(), var(), and Mat< eT >::~Mat().

template<typename eT >
arma_aligned const eT* const Mat< eT >::mem

pointer to memory used by the matrix (memory is read-only)

Definition at line 37 of file Mat_proto.hpp.

Referenced by abs(), accu(), accu_schur(), op_atanh::apply(), op_tanh::apply(), op_atan::apply(), op_tan::apply(), op_asinh::apply(), op_sinh::apply(), op_asin::apply(), op_sin::apply(), op_acosh::apply(), op_cosh::apply(), op_acos::apply(), op_cos::apply(), op_scalar_div_post::apply(), op_scalar_div_pre::apply(), op_scalar_times::apply(), op_scalar_minus_post::apply(), op_scalar_minus_pre::apply(), op_scalar_plus::apply(), op_neg::apply(), op_conj::apply(), op_pow_s32::apply(), op_pow::apply(), op_square::apply(), op_sqrt::apply(), op_trunc_exp::apply(), op_exp::apply(), op_log10::apply(), op_trunc_log::apply(), op_log::apply(), op_diagmat_vec::apply(), glue_times_vec::apply(), glue_schur::apply(), glue_plus::apply(), glue_minus::apply(), glue_div::apply(), gemv< do_trans_A, use_alpha, use_beta >::apply(), gemm< do_trans_A, do_trans_B, use_alpha, use_beta >::apply_blas_type(), op_inv::apply_diagvec(), glue_schur::apply_inplace(), glue_plus::apply_inplace(), glue_minus::apply_inplace(), glue_div::apply_inplace(), glue_schur::apply_mixed(), glue_plus::apply_mixed(), glue_minus::apply_mixed(), glue_div::apply_mixed(), op_trans::apply_noalias(), Mat< eT >::at(), Mat< eT >::colptr(), det(), glue_times::direct_rowvec_invdiagvec_colvec(), Mat< eT >::fill(), conv_to< out_eT >::from(), Mat< eT >::init(), Mat< eT >::is_finite(), Mat< eT >::Mat(), max(), mean(), median(), Mat< eT >::memptr(), min(), norm(), operator!=(), Mat< eT >::operator()(), operator*(), Mat< eT >::operator*=(), Mat< eT >::operator+=(), Mat< eT >::operator-=(), Mat< eT >::operator/=(), operator<(), operator<<(), operator<=(), Mat< eT >::operator=(), operator==(), operator>(), operator>=(), Mat< eT >::operator[](), auxlib::qr(), diskio::save_arma_binary(), arma_ostream::set_flags(), stddev(), Mat< eT >::swap_rows(), var(), and Mat< eT >::~Mat().

template<typename eT >
arma_aligned eT Mat< eT >::mem_local[16] [protected]

Definition at line 40 of file Mat_proto.hpp.

Referenced by Mat< eT >::init(), and Mat< eT >::~Mat().