[Cython] remaining open issues for 0.17

Dag Sverre Seljebotn d.s.seljebotn at astro.uio.no
Fri Aug 10 22:38:56 CEST 2012


I agree. Non-transitive type comparisons seems like very fishy business (it will be *very* surprising to whoever runs across it); I think there's a strong case for just breaking backwards compatability:

ERROR: 'char' is illegal as a buffer dtype due to being underspecified in the C standard, please use 'signed char' or 'unsigned char'.

(Myself I always use uint8_t or int8_t rather than char...)

Dag
-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.

"Bradley M. Froehle" <brad.froehle at gmail.com> wrote:

I think again this is an instance of the tests being incorrect, rather than the code.  The failing numpy_tests are all cases where we instantiate a buffer of type 'b' (== 'signed char') but then try to use it as if it was a 'char'.


The fix, of course is to just replace most instances of 'char' with 'signed char' in numpy_test.pyx:

https://github.com/bfroehle/cython/compare/char-buffers


In some sense NumPy does have a notion of 'char', namely a 1 character string.


The only worry here, of course, is whether this change will painfully break existing code…


-Brad 

Actually, this fix breaks numpy_test, and I'm not sure how to fix it

given that numpy has no notion of a "possibly signed char" (unless we

disallow using char/char* with numpy altogether, which is much more

extreme, or don't enforce that signs match for char, which is likely

more invasive). Ugh.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cython-devel/attachments/20120810/d31a3719/attachment.html>


More information about the cython-devel mailing list