if en if/else
Net als in R kun je de sleutelwoorden if en else gebruiken voor vertakkingen. De syntaxis is hetzelfde als in R.
if(condition) {
// Code die wordt uitgevoerd als de voorwaarde TRUE is
} else {
// Code die anders wordt uitgevoerd
}
Hier gebruik je if en else om de definitie van een functie absolute() af te maken die de absolute waarde van een drijvendekommagetal berekent. (Dit bootst de C++-functie fabs() na.)
Deze oefening maakt deel uit van de cursus
R-code optimaliseren met Rcpp
Oefeninstructies
- Test of x groter is dan nul.
- Als de voorwaarde geldt, retourneer
x. - Voeg het sleutelwoord toe voor wat je anders moet doen.
- Als de voorwaarde niet geldt, retourneer
-x.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
#include
using namespace Rcpp ;
// [[Rcpp::export]]
double absolute(double x) {
// Test for x greater than zero
___(___) {
// Return x
___;
// Otherwise
} ___ {
// Return negative x
___;
}
}
/*** R
absolute(pi)
absolute(-3)
*/