もう一度実行:do-while ループ
R の repeat ループは、C++ では do while ループと呼ばれます。while ループと比べると、条件判定をループの最後に置くため、ループ本体は少なくとも1回は必ず実行されます。構文は次のとおりです。
do {
// Do something
} while(condition);
while の条件の後にセミコロンがある点に注意してください。
この演習はコースの一部です
Rcpp で R コードを最適化する
演習の手順
do文でループを開始してください。whileの条件を指定し、is_good_enoughの値が false の間はループが続くようにしてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
#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;
// Initiate do while loop
___ {
previous = x;
x = (x + value / x) / 2.0;
is_good_enough = fabs(x - previous) < threshold;
// Specify while condition
} ___
return x;
}
/*** R
sqrt_approx(2, 0.00001)
*/