AMR/src/rsi_calc.cpp

22 lines
604 B
C++
Raw Normal View History

2018-07-13 17:23:46 +02:00
#include <Rcpp.h>
2018-07-17 10:32:26 +02:00
// #include <functional> // for std::less_equal and std::greater_equal
// #include <algorithm> // for count_if
2018-07-13 17:23:46 +02:00
2018-07-15 22:56:41 +02:00
using namespace Rcpp;
2018-07-13 17:23:46 +02:00
// [[Rcpp::export]]
2018-07-15 22:56:41 +02:00
int rsi_calc_S(DoubleVector x, bool include_I) {
2018-07-17 10:32:26 +02:00
return count_if(x.begin(),
x.end(),
bind2nd(std::less_equal<double>(),
1 + include_I));
2018-07-13 17:23:46 +02:00
}
// [[Rcpp::export]]
2018-07-15 22:56:41 +02:00
int rsi_calc_R(DoubleVector x, bool include_I) {
2018-07-17 10:32:26 +02:00
return count_if(x.begin(),
x.end(),
bind2nd(std::greater_equal<double>(),
3 - include_I));
2018-07-13 17:23:46 +02:00
}