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