#include <Rcpp.h> // [[Rcpp::export]] double trapezoidal(Rcpp::NumericVector const &x, Rcpp::NumericVector const &y) { double ret = 0; for (size_t i = 1; i < x.size(); ++i) ret += (x[i] - x[i - 1]) * (y[i] + y[i - 1]) / 2; return ret; }