23#ifndef Rcpp__sugar__sum_h
24#define Rcpp__sugar__sum_h
29template <
int RTYPE,
bool NA,
typename T>
30class Sum :
public Lazy< typename Rcpp::traits::storage_type<RTYPE>::type , Sum<RTYPE,NA,T> > {
40 R_xlen_t n =
object.size() ;
42 for( R_xlen_t i=0; i<n; i++){
54template <
bool NA,
typename T>
55class Sum<REALSXP,
NA,T> :
public Lazy< double , Sum<REALSXP,NA,T> > {
64 R_xlen_t n =
object.size() ;
65 for( R_xlen_t i=0; i<n; i++){
75template <
int RTYPE,
typename T>
76class Sum<RTYPE,false,T> :
public Lazy< typename Rcpp::traits::storage_type<RTYPE>::type , Sum<RTYPE,false,T> > {
86 R_xlen_t n =
object.size() ;
87 for( R_xlen_t i=0; i<n; i++){
98template <
bool NA,
typename T>
103template <
bool NA,
typename T>
108template <
bool NA,
typename T>
Rcpp::VectorBase< REALSXP, NA, T > VEC_TYPE
Rcpp::traits::Extractor< REALSXP, NA, T >::type VEC_EXT
Sum(const VEC_TYPE &object_)
Rcpp::traits::storage_type< RTYPE >::type STORAGE
Rcpp::VectorBase< RTYPE, false, T > VEC_TYPE
Sum(const VEC_TYPE &object_)
Rcpp::traits::Extractor< RTYPE, false, T >::type VEC_EXT
Rcpp::traits::Extractor< RTYPE, NA, T >::type VEC_EXT
Rcpp::VectorBase< RTYPE, NA, T > VEC_TYPE
Rcpp::traits::storage_type< RTYPE >::type STORAGE
Sum(const VEC_TYPE &object_)
storage_type< RTYPE >::type get_na()
bool is_na(typename storage_type< RTYPE >::type)
sugar::Sum< INTSXP, NA, T > sum(const VectorBase< INTSXP, NA, T > &t)
#define RCPP_SAFE_ADD(a, b)