R-kod i C++-filer
När du kompilerar din C++-fil med sourceCpp() (eller knappen "Source" i RStudio) kompilerar Rcpp din kod och gör de exporterade funktionerna tillgängliga som R-funktioner.
sourceCpp() behandlar även kommentarer mellan /*** R och */ som R-kod som körs när koden har kompilerats.
/*** R
# Kör den exporterade R-koden här
*/
Detta är särskilt användbart när du utvecklar din kod, eftersom du snabbt kan testa hur ändringar påverkar resultatet.
Du kommer att använda dessa specialkommentarer under resten av kursen.
Den här övningen är en del av kursen
Optimera R-kod med Rcpp
Övningsinstruktioner
- Inled ett Rcpp R-kommentarsblock med
/*** R. - Anropa funktionen
distför att beräkna avståndet från origo till punkten(3,4). - Avsluta Rcpp R-kommentarsblocket med
*/.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
#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
___