Domanda

Voglio usare contemporaneamente RCPPGSL e RCPPARMADILLO, è possibile utilizzare più plugin in CXXFunction (del pacchetto Cran inline)? Ho trovato un modo per fare:

plug.ArmaGSL <- Rcpp:::Rcpp.plugin.maker(include.before='#include <RcppArmadillo.h>
                                                     #include <RcppGSL.h>
                                                     #include <gsl/gsl_rng.h>',
                                     Depends=c("RcppGSL", "RcppArmadillo", "Rcpp"),
                                     LinkingTo=c("RcppGSL", "RcppArmadillo", "Rcpp"),
                                     libs="-lgsl -larmadillo")

registerPlugin("RcppArmaGSL", plug.ArmaGSL)

foo <- cxxfunction(signature(sM="numeric"), body=bodytxt, inc=inctxt, plugin="RcppArmaGSL")

Ma non sembra così intuitivo.

È stato utile?

Soluzione

Bella domanda. (E sarebbe stato ancora meglio su RCPP-Devel.)

Penso che tu debba scrivere il tuo plug-in combinato, vedi domanda 3.6 "Come scrivere un plug-in per il pacchetto inline" della vignetta RCPP-FAQ per i dettagli.

Altri suggerimenti

Un modo semplice è iniziare da un plug -in esistente, diciamo:

require(inline)
require(RcppArmadillo)
foo <- getPlugin("RcppArmadillo" )

e poi scherzare con FOO e usarlo come argomento Impostazioni nella chiamata CXXFunction. Altro su questo in? Cxxfunction.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top