De novo: laço do-while
O laço repeat em R é chamado de do while em C++. Comparado a um laço while, ele move a condição para o final do laço, garantindo que o conteúdo do laço será executado pelo menos uma vez. A sintaxe é a seguinte:
do {
// Do something
} while(condition);
Note o ponto e vírgula após a condição do while.
Este exercicio faz parte do curso
Otimizando código R com Rcpp
Instruções do exercicio
- Inicie o laço com a instrução
do. - Especifique a condição do
while, para que o laço continue iterando enquanto o valor deis_good_enoughfor falso.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
#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)
*/