5

RcppGSLとRcppArmadilloを同時に使用したいのですが、(インラインCRANパッケージの)cxxfunctionで複数のプラグインを使用することは可能ですか?私はする方法を見つけました:

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")

しかし、それはそれほど直感的ではないようです。

4

2 に答える 2

4

簡単な方法は、既存のプラグインから開始することです。

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

次に、fooをいじって、cxxfunction呼び出しの設定引数として使用します。詳細については、?cxxfunctionを参照してください。

于 2012-01-24T15:27:54.823 に答える
3

いい質問です。(そして、rcpp-develではさらに良かったでしょう。)

独自の組み合わせプラグインを作成する必要があると思います。詳細については、Rcpp-FAQビネットの質問3.6「インラインパッケージ用のプラグインを作成するにはどうすればよいですか」を参照してください。

于 2012-01-23T21:18:39.720 に答える