1 #include <Rcpp.h>
2
3 // [[Rcpp::export]]
sumTest(Rcpp::NumericVector v,int begin,int end)4 double sumTest(Rcpp::NumericVector v, int begin, int end) {
5 return Rcpp::algorithm::sum(v.begin() + (begin - 1), v.begin() + end);
6 }
7
8 // [[Rcpp::export]]
sumTest_nona(Rcpp::NumericVector v,int begin,int end)9 double sumTest_nona(Rcpp::NumericVector v, int begin, int end) {
10 return Rcpp::algorithm::sum_nona(v.begin() + (begin - 1), v.begin() + end);
11 }
12
13 // [[Rcpp::export]]
prodTest(Rcpp::NumericVector v,int begin,int end)14 double prodTest(Rcpp::NumericVector v, int begin, int end) {
15 return Rcpp::algorithm::prod(v.begin() + (begin - 1), v.begin() + end);
16 }
17
18 // [[Rcpp::export]]
prodTest_nona(Rcpp::NumericVector v,int begin,int end)19 double prodTest_nona(Rcpp::NumericVector v, int begin, int end) {
20 return Rcpp::algorithm::prod_nona(v.begin() + (begin - 1), v.begin() + end);
21 }
22
23 // [[Rcpp::export]]
logTest(Rcpp::NumericVector v)24 Rcpp::NumericVector logTest(Rcpp::NumericVector v) {
25 Rcpp::NumericVector x = Rcpp::clone(v);
26 Rcpp::algorithm::log(v.begin(), v.end(), x.begin());
27 return x;
28 }
29
30 // [[Rcpp::export]]
expTest(Rcpp::NumericVector v)31 Rcpp::NumericVector expTest(Rcpp::NumericVector v) {
32 Rcpp::NumericVector x = Rcpp::clone(v);
33 Rcpp::algorithm::exp(v.begin(), v.end(), x.begin());
34 return x;
35 }
36
37 // [[Rcpp::export]]
sqrtTest(Rcpp::NumericVector v)38 Rcpp::NumericVector sqrtTest(Rcpp::NumericVector v) {
39 Rcpp::NumericVector x = Rcpp::clone(v);
40 Rcpp::algorithm::sqrt(v.begin(), v.end(), x.begin());
41 return x;
42 }
43
44 // [[Rcpp::export]]
minTest(Rcpp::NumericVector v)45 double minTest(Rcpp::NumericVector v) {
46 return Rcpp::algorithm::min(v.begin(), v.end());
47 }
48
49 // [[Rcpp::export]]
maxTest(Rcpp::NumericVector v)50 double maxTest(Rcpp::NumericVector v) {
51 return Rcpp::algorithm::max(v.begin(), v.end());
52 }
53
54 // [[Rcpp::export]]
minTest_nona(Rcpp::NumericVector v)55 double minTest_nona(Rcpp::NumericVector v) {
56 return Rcpp::algorithm::min_nona(v.begin(), v.end());
57 }
58
59 // [[Rcpp::export]]
maxTest_nona(Rcpp::NumericVector v)60 double maxTest_nona(Rcpp::NumericVector v) {
61 return Rcpp::algorithm::max_nona(v.begin(), v.end());
62 }
63
64 // [[Rcpp::export]]
minTest_int(Rcpp::IntegerVector v)65 int minTest_int(Rcpp::IntegerVector v) {
66 return Rcpp::algorithm::min(v.begin(), v.end());
67 }
68
69 // [[Rcpp::export]]
maxTest_int(Rcpp::IntegerVector v)70 int maxTest_int(Rcpp::IntegerVector v) {
71 return Rcpp::algorithm::max(v.begin(), v.end());
72 }
73
74 // [[Rcpp::export]]
minTest_int_nona(Rcpp::IntegerVector v)75 int minTest_int_nona(Rcpp::IntegerVector v) {
76 return Rcpp::algorithm::min_nona(v.begin(), v.end());
77 }
78
79 // [[Rcpp::export]]
maxTest_int_nona(Rcpp::IntegerVector v)80 int maxTest_int_nona(Rcpp::IntegerVector v) {
81 return Rcpp::algorithm::max_nona(v.begin(), v.end());
82 }
83
84 // [[Rcpp::export]]
meanTest(Rcpp::NumericVector v)85 double meanTest(Rcpp::NumericVector v) {
86 return Rcpp::algorithm::mean(v.begin(), v.end());
87 }
88
89 // [[Rcpp::export]]
meanTest_int(Rcpp::IntegerVector v)90 double meanTest_int(Rcpp::IntegerVector v) {
91 return Rcpp::algorithm::mean(v.begin(), v.end());
92 }
93
94 // [[Rcpp::export]]
meanTest_logical(Rcpp::LogicalVector v)95 double meanTest_logical(Rcpp::LogicalVector v) {
96 return Rcpp::algorithm::mean(v.begin(), v.end());
97 }
98