while ループで平方根を計算する
while ループは、条件が満たされなくなるまで繰り返し処理を続けます。C++ の while ループの構文は R と同じです。
while(condition) {
// Do something
}
この演習はコースの一部です
Rcpp で R コードを最適化する
演習の手順
is_good_enough の値が false の間、繰り返しが続くように while ループを指定してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
#include
using namespace Rcpp;
// [[Rcpp::export]]
double sqrt_approx(double value, double threshold) {
double x = 1.0;
double previous = x;
bool is_good_enough = false;
// Specify the while loop
___(___) {
previous = x;
x = (x + value / x) / 2.0;
is_good_enough = fabs(x - previous) < threshold;
}
return x ;
}
/*** R
sqrt_approx(2, 0.00001)
*/