私は一日中検索して答えを見つけることができないので、これがあまり明白ではないことを願っています。
次のRファイルがあるとします。
library(Rcpp)
sourceCpp("cfile.cpp")
giveOutput(c(1,2,3))
そして、次のC++ファイルをコンパイルします。
#include <Rcpp>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector plusTwo(NumericVector x){
NumericVector out = x + 2.0;
return out;
}
NumericVector giveOutput(NumericVector a){
NumericVector b = plusTwo(a);
return b;
}
私が何をしようとも、RcppプリプロセッサはplusTwo()
利用可能になりますが、まったく利用できgiveOutput()
ません。私が見つけたドキュメントには、これがパッケージを作成する必要があるポイントであると記載されていますが、パッケージビネットを読んだ後は、必要なものよりも桁違いに複雑に見えます。
plusTwo()
内部を明示的に定義する以外にgiveOutput()
、何ができますか?