fix: allow Cube::insert_slices() to handle Cube::slice() and Mat as inputs
This commit is contained in:
@@ -208,6 +208,7 @@ class Cube : public BaseCube< eT, Cube<eT> >
|
||||
template<typename T1> inline void insert_rows(const uword row_num, const BaseCube<eT,T1>& X);
|
||||
template<typename T1> inline void insert_cols(const uword col_num, const BaseCube<eT,T1>& X);
|
||||
template<typename T1> inline void insert_slices(const uword slice_num, const BaseCube<eT,T1>& X);
|
||||
template<typename T1> inline void insert_slices(const uword slice_num, const Base<eT,T1>& X);
|
||||
|
||||
|
||||
template<typename gen_type> inline Cube(const GenCube<eT, gen_type>& X);
|
||||
|
||||
@@ -2534,6 +2534,23 @@ Cube<eT>::insert_slices(const uword slice_num, const BaseCube<eT,T1>& X)
|
||||
|
||||
|
||||
|
||||
template<typename eT>
|
||||
template<typename T1>
|
||||
inline
|
||||
void
|
||||
Cube<eT>::insert_slices(const uword slice_num, const Base<eT,T1>& X)
|
||||
{
|
||||
arma_extra_debug_sigprint();
|
||||
|
||||
const quasi_unwrap<T1> U(X.get_ref());
|
||||
|
||||
const Cube<eT> C(const_cast<eT*>(U.M.memptr()), U.M.n_rows, U.M.n_cols, uword(1), false, true);
|
||||
|
||||
(*this).insert_slices(slice_num, C);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//! create a cube from GenCube, ie. run the previously delayed element generation operations
|
||||
template<typename eT>
|
||||
template<typename gen_type>
|
||||
|
||||
Reference in New Issue
Block a user