mirror of https://github.com/davisking/dlib.git
Added a mat() overload that works with Armadillo matrices.
This commit is contained in:
parent
a0e3d2a606
commit
a4f0719911
|
@ -247,6 +247,50 @@ namespace dlib
|
|||
return matrix_op<op>(op(ptr,nr,nc));
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
|
||||
namespace arma
|
||||
{
|
||||
template <typename T> class Mat;
|
||||
}
|
||||
namespace dlib
|
||||
{
|
||||
template <typename T>
|
||||
struct op_arma_Mat_to_mat : does_not_alias
|
||||
{
|
||||
op_arma_Mat_to_mat( const T& array_) : array(array_){}
|
||||
|
||||
const T& array;
|
||||
|
||||
const static long cost = 1;
|
||||
const static long NR = 0;
|
||||
const static long NC = 0;
|
||||
typedef typename T::elem_type type;
|
||||
typedef typename T::elem_type const_ret_type;
|
||||
typedef default_memory_manager mem_manager_type;
|
||||
typedef row_major_layout layout_type;
|
||||
|
||||
const_ret_type apply (long r, long c ) const { return array(r,c); }
|
||||
|
||||
long nr () const { return array.n_rows; }
|
||||
long nc () const { return array.n_cols; }
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
||||
template <
|
||||
typename T
|
||||
>
|
||||
const matrix_op<op_arma_Mat_to_mat< ::arma::Mat<T> > > mat (
|
||||
const ::arma::Mat<T>& array
|
||||
)
|
||||
{
|
||||
typedef op_arma_Mat_to_mat< ::arma::Mat<T> > op;
|
||||
return matrix_op<op>(op(array));
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// DEPRECATED FUNCTIONS
|
||||
|
|
|
@ -147,6 +147,24 @@ namespace dlib
|
|||
the pointer and thus will not delete or free it.
|
||||
!*/
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
||||
template <
|
||||
typename T
|
||||
>
|
||||
const matrix_exp mat (
|
||||
const ::arma::Mat<T>& m
|
||||
);
|
||||
/*!
|
||||
ensures
|
||||
- Converts a matrix from the Armadillo library into a dlib matrix.
|
||||
- returns a matrix R such that:
|
||||
- R.nr() == m.n_rows
|
||||
- R.nc() == m.n_cols
|
||||
- for all valid r:
|
||||
R(r,c) == m(r,c)
|
||||
!*/
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue