/ / Rcpp Beginner Error Message - rcpp

Rcpp Beginner Error Message - rcpp

Sono principiante con Rcpp e ho avuto questo messaggio di erroreeseguire il seguente codice R. Io uso Windows 10. "Errore in compileCode (f, code, language = language, verbose = verbose): Compilation ERRORE, funzione / i / metodo / i non creati! Messaggio di avviso: "

incltxt <- "
int fibonacci(const int x) {
if (x == 0) return(0);
if (x == 1) return(1);
return fibonacci(x - 1) + fibonacci(x - 2);
}"


fibRcpp <- cxxfunction(signature(xs="int"),
plugin="Rcpp",
incl=incltxt,
body="
int x = Rcpp::as<int>(xs);
return Rcpp::wrap( fibonacci(x) );
")

risposte:

2 per risposta № 1

Si consideri il più semplice e più recente cppFunction():

R> library(Rcpp)
R> cppFunction("int f(int n) { if (n < 2) return n; return f(n-1) + f(n-2);}")
R> f(10)
[1] 55
R>

Modificare: Ed ecco il tuo codice riparato. È necessario caricare anche Rcpp per registrare il proprio plug-in:

R> library(Rcpp)
R> library(inline)
R> incltxt <- "
+ int fibonacci(const int x) {
+ if (x == 0) return(0);
+ if (x == 1) return(1);
+ return fibonacci(x - 1) + fibonacci(x - 2);
+ }"
R> bodytxt <- "
+ int x = Rcpp::as<int>(xs);
+ return Rcpp::wrap( fibonacci(x) );
+ "
R> fibRcpp <- inline::cxxfunction(signature(xs="int"), incl=incltxt, body=bodytxt, plugin="Rcpp")
R> fibRcpp(10)
R> 55