C++ ファイル内の R コード
C++ ファイルを sourceCpp()(または RStudio の "Source" ボタン)でコンパイルすると、Rcpp がコードをコンパイルし、エクスポートされた関数を R 関数として利用できるようにします。
また、sourceCpp() は、/*** R と */ の間のコメントを、コンパイル後に一度だけ実行される R コードとして扱います。
/*** R
# ここでエクスポートされた R コードを実行します
*/
これはコードを開発しているときに特に有用です。コードの変更による影響をすばやくテストできるからです。
このコースの残りの部分でも、これらの特別なコメントを使っていきます。
この演習はコースの一部です
Rcpp で R コードを最適化する
演習の手順
/*** Rで Rcpp の R コメントブロックを開始します。dist関数を呼び出して、原点から(3,4)までの距離を計算します。*/で Rcpp の R コメントブロックを閉じます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
#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
___