23#ifndef Rcpp__sugar__diff_h
24#define Rcpp__sugar__diff_h
32template <
int RTYPE,
bool LHS_NA,
typename LHS_T>
66 inline R_xlen_t
size()
const {
return lhs.size() - 1 ; }
75template <
typename LHS_T,
bool LHS_NA>
76class Diff<REALSXP, LHS_NA, LHS_T> :
public Rcpp::VectorBase< REALSXP, LHS_NA, Diff<REALSXP,LHS_NA,LHS_T> >{
90 inline R_xlen_t
size()
const {
return lhs.size() - 1 ; }
98template <
int RTYPE,
typename LHS_T>
114 inline R_xlen_t
size()
const {
return lhs.size() - 1 ; }
124template <
bool LHS_NA,
typename LHS_T>
131template <
bool LHS_NA,
typename LHS_T>
Diff(const LHS_TYPE &lhs_)
Rcpp::VectorBase< REALSXP, LHS_NA, LHS_T > LHS_TYPE
double operator[](R_xlen_t i) const
Diff(const LHS_TYPE &lhs_)
STORAGE operator[](R_xlen_t i) const
Rcpp::VectorBase< RTYPE, false, LHS_T > LHS_TYPE
Rcpp::traits::storage_type< RTYPE >::type STORAGE
STORAGE operator[](R_xlen_t i) const
void set_previous(R_xlen_t i, STORAGE value) const
Rcpp::VectorBase< RTYPE, LHS_NA, LHS_T > LHS_TYPE
Diff(const LHS_TYPE &lhs_)
Rcpp::traits::storage_type< RTYPE >::type STORAGE
traits used to dispatch wrap
storage_type< RTYPE >::type get_na()
bool is_na(typename storage_type< RTYPE >::type)
sugar::Diff< INTSXP, LHS_NA, LHS_T > diff(const VectorBase< INTSXP, LHS_NA, LHS_T > &lhs)
sugar::IsNa< RTYPE, NA, T > is_na(const Rcpp::VectorBase< RTYPE, NA, T > &t)
#define RCPP_SAFE_SUB(a, b)