Boost.simd reloaded

On Thu, Jul 10, 2014 at 08:43:03PM -0700, Mehdi Amini wrote:
> In pythran/pythonic/numpy/sum.hpp:
> > +          vT vp = boost::simd::splat<vT>(T(0));
> > +
> > +          long i;
> > +          for (i = 0; i < bound; i += vN)
> > +            vp += e.load(i);
> > +          f += boost::simd::sum(vp);
> > +          for(;i< n; ++i)
> > +              f += e.fast(i);
> > +        }
> > +
> > +        template <class E, class F, size_t N>
> > +        void operator()(E const &amp;e, F &amp;f, utils::int_<N>) {
> > +          auto begin = e.begin(), end = e.end();
> > +          for (; begin != end; ++begin)
> > +            (*this)(*begin, f, utils::int_<N - 1>());
> > +        }
> Why is the interface different than _sum() for _vsum?

I wanted a traditionnal begin / end interface for _sum, but could not
come up with one for _vsum :-/