eigen cast armadillo
#include <RcppArmadillo.h>
#include <RcppEigen.h>
// [[Rcpp::depends(RcppEigen)]]
// [[Rcpp::depends(RcppArmadillo)]]
// [[Rcpp::export]]
Eigen::MatrixXd example_cast_eigen(arma::mat arma_A) {
Eigen::MatrixXd eigen_B = Eigen::Map<Eigen::MatrixXd>(arma_A.memptr(),
arma_A.n_rows,
arma_A.n_cols);
return eigen_B;
}
// [[Rcpp::export]]
arma::mat example_cast_arma(Eigen::MatrixXd eigen_A) {
arma::mat arma_B = arma::mat(eigen_A.data(), eigen_A.rows(), eigen_A.cols(),
false, false);
return arma_B;
}
/***R
(x = matrix(1:4, ncol = 2))
example_cast_eigen(x)
example_cast_arma(x)
*/