1. Learn
  2. /
  3. Courses
  4. /
  5. Rcpp로 R 코드 최적화하기

Connected

Exercise

내보내는 함수와 내보내지 않는 함수

[[Rcpp::export]] 특수 주석이 달린 함수는 R 콘솔에서 사용할 수 있습니다. 하지만 모든 함수를 R로 내보내고 싶지는 않을 때가 많습니다. 대신 일부 함수는 C++ 내부 전용으로 둘 수 있습니다. 보통 더 낮은 수준의 계산 함수나 유틸리티 함수가 여기에 해당합니다.

2차원 공간의 한 점에서 원점까지의 거리를 계산하는 함수를 떠올려 보세요:

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

이번에는 내보내지는 square 함수를 만들어 double 값을 제곱만 하도록 하고, 내보내지는 dist 함수(즉, R로 내보내는 함수)가 이를 호출하도록 코드를 업데이트해 보겠습니다.

Instructions

100 XP
  • square()가 double을 입력받아 double을 반환하도록 정의를 완성하세요, …
  • 반환값은 x 곱하기 x가 되도록 하세요.
  • dist()의 정의를 square()를 사용하도록 수정하세요. 즉, x의 제곱과 y의 제곱을 더한 값의 제곱근을 반환하도록 하세요.