[Rcpp-devel] exposing a C++ function to RInside

Dirk Eddelbuettel edd at debian.org
Sun Aug 19 00:46:34 CEST 2012


On 18 August 2012 at 14:08, Stephen J. Barr wrote:
| Hello,
| 
| I have a quick design question. I am working on a program that uses RInside and
| RcppEigen, and I want to expose a function back to R. Specifically, I have a
| C++ function with the following signature:
| 
| double nll_singleton(
|     const VectorXd& theta,
|     const MatrixXd& ua,
|     const MatrixXd& ub,
|     const MatrixXd& Xmat,
|     const MatrixXd& Ymat);
| 
| I would like to run R's optim over this function, where 'theta' is the vector
| that I am optimizing over. Would I use RCpp::InternalFunction for this?

Per rinside_sample9.cpp, possibly.

| nll_singleton is going to call MPI and I would rather do it this way than use
| mpi over R, if this is possible.

Right.

Doug Bates and have both (and indepdently) used Rcpp::XPtr to pass function
pointers around to C-level optimisation functions.  My use case in my "port"
of DEoption to Rcpp, ie in RcppDE.

Good luck,  Dirk

-- 
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com  


More information about the Rcpp-devel mailing list