SPROUT_CONSTEXPR typename std::iterator_traits<Outdirected>::value_type calc_2(Outdirected const& x, typename Outdirected::index_type m, value_type const& delta) const { return m >= 0 && (m + 1 < x.base().get() || x.base().get() < 0) ? delta * x[m + 1 - x.index()] + (1 - delta) * x[m - x.index()] : 0 ; }