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

Dirk Eddelbuettel edd at debian.org
Sun Aug 19 02:31:10 CEST 2012


On 18 August 2012 at 16:24, Stephen J. Barr wrote:
| 
| 
| On Sat, Aug 18, 2012 at 3:46 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
| 
| 
|     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.
| 
| What I meant was, rather than recode everything in R and use Rmpi.

Understood.
 
| I guess my question was, say I use RCpp::InternalFunction with nll_singleton,
| can I just pass in a vector and a few matrices like:
| 
| >R.parseEval("nll_singleton(c(1,2,3), matrix(1:10, nrow=3), ...etc..")
| 
| ?
| 
| I would think that I would have to define some mapping back to the Eigen
| matrices.

I don't know. That's something you will have to work out.

Dirk

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


More information about the Rcpp-devel mailing list