R code in C++ files
When you compile your C++ file with sourceCpp()
(or the "Source" button in RStudio), Rcpp
compiles your code and makes the exported
functions available as R functions.
sourceCpp()
also treats comments between /*** R
and */
as R code to be executed once the code is compiled.
/*** R
# Run the exported R code here
*/
This is particularly useful when you are developing your code because you can very quickly test the effects of changes to your code.
You will use these special comments throughout the rest of this course.
This exercise is part of the course
Optimizing R Code with Rcpp
Exercise instructions
- Start an Rcpp R comment block with
/*** R
. - Call the
dist
function to calculate the distance from the origin to the(3,4)
point. - Close the Rcpp R comment block with
*/
.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
#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
___