Ticket #7731: irange.hpp.patch

File irange.hpp.patch, 609 bytes (added by mazay0@…, 10 years ago)

patch for irange

  • irange.hpp.

    old new  
    217217        const std::ptrdiff_t sz = static_cast<std::ptrdiff_t>(step_size >= 0 ? step_size : -step_size);
    218218        const Integer l = step_size >= 0 ? last : first;
    219219        const Integer f = step_size >= 0 ? first : last;
    220         const std::ptrdiff_t num_steps = (l + ((l-f) % sz) - f) / sz;
     220        const std::ptrdiff_t num_steps = (l - f) / sz + ((l - f) % sz ? 1 : 0);
    221221        BOOST_ASSERT(num_steps >= 0);
    222222       
    223223        return strided_integer_range<Integer>(