1. Uczyć się
  2. /
  3. Courses
  4. /
  5. Rcpp で R コードを最適化する

Connected

Exercise

エクスポートされる関数とされない関数

[[Rcpp::export]] という特別なコメントを付けた関数は、R コンソールから利用できるようになります。ただし、すべての関数を R にエクスポートしたいわけではありません。代わりに、一部の関数は C++ 内部にとどめます。これらは多くの場合、より低レベルな計算やユーティリティの関数です。

2 次元空間の点から原点までの距離を計算する関数を思い出してください。

double dist( double x, double y) {
  return sqrt( x*x + y*y ) ;
}

ここでは、エクスポートされる dist 関数が、double を二乗するだけのエクスポートしない square 関数を呼び出すようにコードを更新します。

Instrukcje

100 XP
  • square() の定義を完成させ、double を受け取り double を返すようにします。
  • 戻り値は x かける x と等しくします。
  • dist() の定義を square() を使うように更新します。つまり、x の二乗と y の二乗の和の平方根を返すようにします。