Chciałbym wiedzieć, czy istnieje sposób na tworzenie funkcji Rcpp
przy użyciu pakietów inline
w ramach funkcji głównej. Jest to przykład tego, co chcę zrobić:Rcpp + inline - tworzenie i wywoływanie dodatkowych funkcji
library(inline)
library(Rcpp)
a = 1:10
cpp.fun = cxxfunction(signature(data1="numeric"),
plugin="Rcpp",
body="
int fun1(int a1)
{int b1 = a1;
b1 = b1*b1;
return(b1);
}
NumericVector fun_data = data1;
int n = data1.size();
for(i=0;i<n;i++){
fun_data[i] = fun1(fun_data[i]);
}
return(fun_data);
")
co powinno skutkować:
> cpp.fun(a)
[1] 1 4 9 16 25 36 49 64 81 100
jednak wiem, że kompilator nie będzie akceptować stworzenie własnej funkcji w głównej metody. Jak mogę utworzyć i wywołać inną funkcję Rcpp
z inline
bez konieczności przekazywania jej do R?
dziękuję za czubka. – honeyoak
Pewnie. Witamy w Stack Overflow. Przygotuj i zaakceptuj tę odpowiedź, jeśli ci odpowiada. (odwiedź http://stackoverflow.com/faq, jeśli nie wiesz co mam na myśli) –