/ / Rcpp Помилка повідомлення про початківця - rcpp

Помилка повідомлення про початківець Rcpp - rcpp

Я почав користуватися Rcpp У мене було це повідомлення про помилкузапустіть наступний R-код. Я використовую Windows 10. "Помилка компілічного коду (f, код, мова = мова, verbose = verbose): Компіляція ERROR, функція (и) / метод (и) не створені! Попереднє повідомлення: "

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

Відповіді:

2 для відповіді № 1

Розглянемо простіше і новіше 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>

Редагувати: І ось ваш відремонтований код. Вам також потрібно завантажити Rcpp, щоб зареєструвати свій плагін:

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