Lisandro Dalcin wrote:
> I've not closed the ticket, because I would like to know your
> opinions. For your convenience, you have below my comments.
>
> Pushed: http://hg.cython.org/cython-devel/rev/1a9bfb4ff18a
> Tested: Linux32/64 and Windows32 (MSVC and MinGW)
>
> Comments: 'ssize_t' is not a C99 standard type. If available, core
> Python(>2.4) defines Py_ssize_t to ssize_t. If ssize_t is not
> available, then any Cython code using ssize_t will fail at C compile
> time. I do not think we should #define or typedef ssize_t if it is
> missing, but raise your voice if you do not agree. For Py>=2.5,
> detecting a missing ssize_t is trivial (macro available pyconfig.h)
> and then we could conditionally "#define ssize_t Py_ssize_t" (or
> ptrdiff_t).
>   
Hmm.

My vote is in favor of simply always making "ssize_t" in Cython always 
mean Py_ssize_t in C.

This is because I want some Py_ssize_t without the special index 
behaviour, so that I can start recommend using it in numerical loops. 
Py_ssize_t is the "correct" type to use for indexing NumPy arrays, but 
has problems when using it in mathematical expressions because of the 
special index coercion behaviour.

Dag SVrre
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to