Smyčky while

Optimizing R Code with Rcpp

Romain François

Consulting Datactive, ThinkR

Smyčky while jsou jednodušší

while( condition ){
    body
}
  • Podmínka pokračování
  • Tělo smyčky
Optimizing R Code with Rcpp
// [[Rcpp::export]]
int power( int n ){    
    if( n < 0 ){
        stop( "n must be positive" )  ;
    }
    int value = 1 ;
    while( value < n ){
        value = value * 2 ;
    }
    return value ;
}

Po zkompilování funkce pomocí sourceCpp ji lze zavolat:

power( 1000 )
power( 17 )
1024
32
Optimizing R Code with Rcpp

Smyčky for jsou jen smyčky while

for( init ; condition; increment ){
    body
}

je ekvivalentní s

init
while( condition ){
    body
    increment
}
Optimizing R Code with Rcpp

Smyčky do / while

do {
    body
} while( condition ) ;
Optimizing R Code with Rcpp

Příklad smyčky do / while

// [[Rcpp::export]]
int power( int n ){

    if( n < 0 ){
        stop( "n must be positive" )  ;
    }

    int value = 1 ;
    do {
        value = value * 2 ;
    } while( value < n );
    return value ;
}
Optimizing R Code with Rcpp

Pojďme procvičovat!

Optimizing R Code with Rcpp

Preparing Video For Download...