13#ifndef MLPACK_CORE_MATH_MAKE_ALIAS_HPP
14#define MLPACK_CORE_MATH_MAKE_ALIAS_HPP
23template<
typename ElemType>
24arma::Cube<ElemType>
MakeAlias(arma::Cube<ElemType>& input,
25 const bool strict =
true)
28 return arma::Cube<ElemType>(input.memptr(), input.n_rows, input.n_cols,
29 input.n_slices,
false, strict);
36template<
typename ElemType>
37arma::Mat<ElemType>
MakeAlias(arma::Mat<ElemType>& input,
38 const bool strict =
true)
41 return arma::Mat<ElemType>(input.memptr(), input.n_rows, input.n_cols,
false,
49template<
typename ElemType>
50arma::Row<ElemType>
MakeAlias(arma::Row<ElemType>& input,
51 const bool strict =
true)
54 return arma::Row<ElemType>(input.memptr(), input.n_elem,
false, strict);
61template<
typename ElemType>
62arma::Col<ElemType>
MakeAlias(arma::Col<ElemType>& input,
63 const bool strict =
true)
66 return arma::Col<ElemType>(input.memptr(), input.n_elem,
false, strict);
73template<
typename ElemType>
74arma::SpMat<ElemType>
MakeAlias(
const arma::SpMat<ElemType>& input,
78 return arma::SpMat<ElemType>(input);
85template<
typename ElemType>
86arma::SpRow<ElemType>
MakeAlias(
const arma::SpRow<ElemType>& input,
90 return arma::SpRow<ElemType>(input);
97template<
typename ElemType>
98arma::SpCol<ElemType>
MakeAlias(
const arma::SpCol<ElemType>& input,
102 return arma::SpCol<ElemType>(input);
109template<
typename ElemType>
112 if (mat.mem_state >= 1)
120template<
typename ElemType>
arma::Cube< ElemType > MakeAlias(arma::Cube< ElemType > &input, const bool strict=true)
Make an alias of a dense cube.
void ClearAlias(arma::Mat< ElemType > &mat)
Clear an alias so that no data is overwritten.
Linear algebra utility functions, generally performed on matrices or vectors.