[Cython] [Fwd: Re: Beginner-friendly tickets]
Anoop Saldanha
poonaatsoc at gmail.com
Wed Mar 18 05:32:59 CET 2009
Does it make any difference, if the start point in a range() is a function
call or even if it is modified to a new value inside the loop? Even if it
is modified, the start would be evaluated only once, isn't it? I defined a
start function and supplied it to the range() and from the output it looked
like start is called once, and also the c output seems to agree with this.
In this case if the start is a function call, then it doesn't have to be
handled right? I am not sure if I have caught the topic right! Or am i
missing something here?
On Wed, Mar 18, 2009 at 3:33 AM, Robert Bradshaw <
robertwb at math.washington.edu> wrote:
> On Mar 17, 2009, at 2:35 PM, Greg Ewing wrote:
>
> > Dag Sverre Seljebotn wrote:
> >
> >> ForFromStatNode is used in two situations in Cython code; in the
> >> Cython-specific syntax
> >>
> >> cdef int i
> >> for i from start <= i < end [by step]:
> >> ...
> >>
> >> In the former case, end should NOT be frozen (i.e. if it is a
> >> function
> >> call it should be called again for every iteration
> >
> > Has Cython changed this? It's not how the for-from
> > statement works in Pyrex -- the limits are only
> > evaluated once.
>
> No, Cython has not changed this, and I'm not sure we should. But
> there is some inconsistency:
>
> %cython
> cdef int get_bound(int m):
> print "get_bound(%s)"%m
> return m
>
> def test_var(int n, int m):
> cdef int i
> for i from 0 <= i < n:
> print "at", i
> n = m
> return i
>
> def test_func(int n):
> cdef int i
> for i from 0 <= i < get_bound(n):
> print "at", i
> return i
>
> sage: test_var(10, 5)
> at 0
> at 1
> at 2
> at 3
> at 4
> 5
> sage: test_func(5)
> get_bound(5)
> at 0
> at 1
> at 2
> at 3
> at 4
> 5
>
> - Robert
>
> _______________________________________________
> Cython-dev mailing list
> Cython-dev at codespeak.net
> http://codespeak.net/mailman/listinfo/cython-dev
>
--
Regards,
Anoop S.
People who says, "It's not winning or losing that matters, but
participation", probably lost.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://codespeak.net/pipermail/cython-dev/attachments/20090318/c7a2f4e9/attachment-0001.htm
More information about the Cython-dev
mailing list