0
なぜ次のコードはコンパイルされませんか?MatrixXfのRcpp固有マップエラー
library(Rcpp)
cppFunction('
int rows(const NumericMatrix& X) {
using Eigen::MatrixXf;
typedef Eigen::Map<MatrixXf> MapMat;
MapMat X1(as<MapMat>(X));
return X1.rows();
}', depends = "RcppEigen")
これは、次のエラーがスローされます。
error: no matching function for call to 'Eigen::Map<Eigen::Matrix<float, -1, -1> >::Map(Rcpp::Vector<14, Rcpp::PreserveStorage>::iterator, int&, int&)'
OUT get() {return OUT(vec.begin(), d_nrow, d_ncol);}
私が代わりにMatrixXdを使用したときと同じコードが正常に動作します。
ありがとうございました。
Rは 'double'しか持っていないので、私たちはRへのインタフェースで' float'をサポートしません。 –
ありがとう、私はそれを認識していませんでした。 – user3294195