32 iterT current_max_iter = start;
43 current_max_iter = iter;
47 return current_max_iter;
50template <
class IterT,
class elemT>
52sum(IterT start, IterT end, elemT init)
55 for (IterT iter = start; iter != end; ++iter)
61inline typename std::iterator_traits<IterT>::value_type
62sum(IterT start, IterT end)
66 typename std::iterator_traits<IterT>::value_type tmp;
70 return sum(start + 1, end, *start);
74inline typename std::iterator_traits<IterT>::value_type
77 typename std::iterator_traits<IterT>::value_type tmp =
sum(start, end);
double norm_squared(const BasicCoordinate< num_dimensions, coordT > &p1)
compute (inner_product(p1,p1))
Definition BasicCoordinate.inl:415
iterT abs_max_element(iterT start, iterT end)
Like std::max_element, but comparing after taking absolute value.
Definition more_algorithms.inl:28
elemT sum(IterT start, IterT end, elemT init)
Compute the sum of a sequence using operator+=(), using an initial value.
Definition more_algorithms.inl:52
std::iterator_traits< IterT >::value_type average(IterT start, IterT end)
Compute the average of a sequence using sum(start,end).
Definition more_algorithms.inl:75
Declaration of the stir::norm(), stir::norm_squared() functions and stir::NormSquared unary function.