1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Optimizing R Code with Rcpp

Connected

cvičení

Exportované a neexportované funkce

Funkce označené speciálním komentářem [[Rcpp::export]] jsou zpřístupněny v R konzoli. Obvykle ale nechceš exportovat úplně každou funkci do R. Některé funkce mohou zůstat interní pro C++ – typicky jde o nízkoúrovňové výpočetní nebo pomocné funkce.

Vzpomeň si na funkci, která počítá vzdálenost bodu ve 2D prostoru od počátku souřadnic:

double dist( double x, double y) {
  return sqrt( x*x + y*y ) ;
}

V tomto cvičení upravíš kód tak, aby funkce dist (která je exportovaná) volala neexportovanou funkci square, jež jednoduše umocní hodnotu typu double na druhou.

Pokyny

100 XP
  • Dokonči definici funkce square() tak, aby přijímala i vracela hodnotu typu double, …
  • která se rovná x krát x.
  • Aktualizuj definici funkce dist() tak, aby používala square() – tedy aby vracela odmocninu součtu druhé mocniny x a druhé mocniny y.