[pythran] Re: question on slice.hpp

  • From: Neal Becker <ndbecker2@xxxxxxxxx>
  • To: pythran@xxxxxxxxxxxxx
  • Date: Thu, 4 Sep 2014 14:58:27 -0400

I think it is probably faster, avoiding int <-> float conversions, and
potentially more accurate.


On Thu, Sep 4, 2014 at 2:56 PM, Pierrick Brunet <pierrick.brunet@xxxxxxxx>
wrote:

>  I think it is rounded up as the slice : 1:5:3 is 2 with a roundup and 1
> with a round down with your expression.
>
> It looks like your formule have the same final behavior but need more
> operation to perform it. Do you have any example where the current function
> fail?
>
>
>
> On 04/09/2014 20:32, Neal Becker wrote:
>
> In pythran/pythonic/types/slice.hpp
>
>              long size() const
>             {
>                 assert( not upper.is_none and not lower.is_none and not
> step.is_none );
>                 return std::max(0L, long(ceil(double(upper -
> lower)/double(step))));
>             }
>
>  Maybe this should be:
> (using python code here:)
>
>  def roundup_divide (a, b):
>     return (a + b - 1) // b
>
>  return std::max(0L, roundup_divide (upper-lower, step));
>
>  But on the other hand, did you really mean to roundup?  Should the size
> of a slice be rounded down?
>
>  --
> *Those who don't understand recursion are doomed to repeat it*
>
>
>


-- 
*Those who don't understand recursion are doomed to repeat it*

Other related posts: