[Numpy-discussion] On my Cython/NumPy project

Robert Kern robert.kern at gmail.com
Sat Jun 21 19:51:02 EDT 2008


On Sat, Jun 21, 2008 at 18:45, Anne Archibald <peridot.faceted at gmail.com> wrote:
> 2008/6/21 Robert Kern <robert.kern at gmail.com>:
>> On Sat, Jun 21, 2008 at 17:08, Anne Archibald <peridot.faceted at gmail.com> wrote:
>>> My suggestion is this: allow negative indices, accepting the cost in
>>> tight loops. (If bounds checking is enabled, the cost will be
>>> negligible anyway.) Provide a #pragma allowing the user to assert that
>>> a certain piece of code uses no negative indices.
>>
>> Instead of a #pragma, you could rely on the type of the index. If it
>> is unsigned, you can do the fast path; if it is signed, you need to
>> check for and handle potential negatives.
>
> Cute! And then it's easy to make "for i in range(n)" produce unsigned
> results with no effort on the part of the user.

Not entirely. You still need to declare "cdef unsigned int i". Cython
does not translate the for loop into fast C unless if the variable has
been declared.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
 -- Umberto Eco



More information about the NumPy-Discussion mailing list