Код: Выделить всё
#include
#include
using Eigen::Map;
using Eigen::EigenBase;
using Eigen::HouseholderQR;
using Eigen::MatrixXd;
using Eigen::SparseMatrix;
using Eigen::SparseQR;
using Eigen::COLAMDOrdering;
// [[Rcpp::depends(RcppEigen)]]
// [[Rcpp::export]]
SEXP qr_dense_residop(Map X, Map Y){
const HouseholderQR QR(X);
return Rcpp::wrap(Y - (X * QR.solve(Y)));
}
// [[Rcpp::export]]
SEXP qr_sparse_residop(Map X, Map Y){
const SparseQR QR(X);
return Rcpp::wrap(Y - (X * QR.solve(Y)));
}
Код: Выделить всё
```{Rcpp, file="resid.cpp"}
```
Код: Выделить всё
using C++ compiler: ‘g++ (GCC) 11.3.0’
/stornext/System/data/apps/gcc/gcc-11.3.0/bin/g++ -std=gnu++17 -I"/stornext/System/data/apps/R/R-4.3.2/lib64/R/include" -DNDEBUG -I"/home/users/allstaff/milton.m/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include" -I"/home/users/allstaff/milton.m/R/x86_64-pc-linux-gnu-library/4.3/RcppEigen/include" -I"/vast/scratch/users/milton.m/tmp/RtmpABumCC/sourceCpp-x86_64-pc-linux-gnu-1.0.12" -I/usr/local/include -fpic -g -O2 -w -c file153c34131d6db.cpp -o file153c34131d6db.o
In file included from /home/users/allstaff/milton.m/R/x86_64-pc-linux-gnu-library/4.3/RcppEigen/include/RcppEigenForward.h:26,
from /home/users/allstaff/milton.m/R/x86_64-pc-linux-gnu-library/4.3/RcppEigen/include/RcppEigen.h:25,
from file153c34131d6db.cpp:1:
file153c34131d6db.cpp: In function ‘SEXPREC* qr_sparse_residop(Eigen::Map, Eigen::Map)’:
/home/users/allstaff/milton.m/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include/RcppCommon.h:140:27: error: expected unqualified-id before string constant
140 | #define RcppExport extern "C" attribute_visible
| ^~~
file153c34131d6db.cpp:33:1: note: in expansion of macro ‘RcppExport’
33 | RcppExport SEXP sourceCpp_1_qr_dense_residop(SEXP XSEXP, SEXP YSEXP) {
| ^~~~~~~~~~
/home/users/allstaff/milton.m/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include/RcppCommon.h:140:27: error: expected unqualified-id before string constant
140 | #define RcppExport extern "C" attribute_visible
| ^~~
file153c34131d6db.cpp:45:1: note: in expansion of macro ‘RcppExport’
45 | RcppExport SEXP sourceCpp_1_qr_sparse_residop(SEXP XSEXP, SEXP YSEXP) {
| ^~~~~~~~~~
file153c34131d6db.cpp:54:2: error: expected ‘}’ at end of input
54 | }
| ^
file153c34131d6db.cpp:20:81: note: to match this ‘{’
20 | SEXP qr_sparse_residop(Map X, Map Y){
| ^
make: *** [file153c34131d6db.o] Error 1
Подробнее здесь: https://stackoverflow.com/questions/781 ... ort-within