MCPcopy Create free account
hub / github.com/RcppCore/Rcpp / sum

Function sum

inst/include/Rcpp/algorithm.h:206–228  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

204
205template< typename InputIterator >
206typename traits::enable_if< helpers::decays_to_ctype< typename std::iterator_traits< InputIterator >::value_type >::value,
207 typename helpers::ctype< typename std::iterator_traits< InputIterator >::value_type >::type >::type
208 sum(InputIterator begin, InputIterator end) {
209
210 typedef typename helpers::ctype< typename std::iterator_traits< InputIterator >::value_type >::type value_type;
211 typedef typename helpers::rtype< value_type > rtype;
212
213 if (begin != end) {
214 value_type start = rtype::ZERO();
215
216 while (begin != end) {
217 if (!Vector< rtype::RTYPE >::is_na(*begin)) {
218 start += *begin++;
219 } else {
220 return rtype::NA();
221 }
222 }
223
224 return start;
225 }
226
227 return rtype::ZERO();
228}
229
230template< typename InputIterator >
231typename traits::enable_if< helpers::decays_to_ctype< typename std::iterator_traits< InputIterator >::value_type >::value,

Callers 4

sumTestFunction · 0.50
runit_sumFunction · 0.50
sum_Function · 0.50
piSugarFunction · 0.50

Calls 1

is_naFunction · 0.50

Tested by

no test coverage detected