1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Tối ưu hóa mã R với Rcpp

Connected

Bài tập

Hàm xuất và không xuất

Các hàm được gắn chú thích đặc biệt [[Rcpp::export]] sẽ khả dụng trong R console. Tuy nhiên, bạn thường không muốn xuất mọi hàm sang R. Thay vào đó, một số hàm có thể được giữ nội bộ trong C++. Đây thường là các hàm tính toán cấp thấp hơn hoặc hàm tiện ích.

Hãy nhớ lại hàm tính khoảng cách từ một điểm trong không gian 2D đến gốc tọa độ:

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

Ở đây, bạn sẽ cập nhật mã sao cho hàm dist (được xuất) sẽ gọi một hàm square không xuất, chỉ đơn giản là bình phương một giá trị double.

Hướng dẫn

100 XP
  • Hoàn thiện định nghĩa square() để hàm nhận và trả về một double, …
  • bằng x nhân với x.
  • Cập nhật định nghĩa dist() để dùng square(). Tức là, trả về căn bậc hai của tổng bình phương của x và bình phương của y.