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.
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