R-code in C++-bestanden
Wanneer je je C++-bestand compileert met sourceCpp() (of de knop "Source" in RStudio), compileert Rcpp je code en stelt de geëxporteerde functies beschikbaar als R-functies.
sourceCpp() behandelt opmerkingen tussen /*** R en */ ook als R-code die wordt uitgevoerd zodra de code is gecompileerd.
/*** R
# Run the exported R code here
*/
Dit is vooral handig tijdens de ontwikkeling, omdat je zo heel snel de effecten van wijzigingen in je code kunt testen.
Je gebruikt deze speciale commentaarblokken in de rest van deze cursus.
Deze oefening maakt deel uit van de cursus
R-code optimaliseren met Rcpp
Oefeninstructies
- Start een Rcpp R-commentaarblok met
/*** R. - Roep de functie
distaan om de afstand van de oorsprong tot het punt(3,4)te berekenen. - Sluit het Rcpp R-commentaarblok af met
*/.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
#include
using namespace Rcpp;
double square(double x) {
return x * x ;
}
// [[Rcpp::export]]
double dist(double x, double y) {
return sqrt(square(x) + square(y));
}
// Start the Rcpp R comment block
___
# Call dist() to the point (3, 4)
___
# Close the Rcpp R comment block
___