<br><br><div class="gmail_quote">On Mon, Jun 1, 2009 at 11:58 PM, David Cournapeau <span dir="ltr"><<a href="mailto:david@ar.media.kyoto-u.ac.jp">david@ar.media.kyoto-u.ac.jp</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">Charles R Harris wrote:<br>
><br>
><br>
> On Mon, Jun 1, 2009 at 11:08 PM, David Cournapeau<br>
</div>> <<a href="mailto:david@ar.media.kyoto-u.ac.jp">david@ar.media.kyoto-u.ac.jp</a> <mailto:<a href="mailto:david@ar.media.kyoto-u.ac.jp">david@ar.media.kyoto-u.ac.jp</a>>><br>
<div><div></div><div class="h5">> wrote:<br>
><br>
>     Hi,<br>
><br>
>        I have a question related to #1121<br>
>     (<a href="http://projects.scipy.org/numpy/ticket/1121" target="_blank">http://projects.scipy.org/numpy/ticket/1121</a>). With python 2.6,<br>
>     PyInt_Check(a) if a is an instance of numpy.int32 does not work<br>
>     anymore.<br>
>     It think this is related to the python issue 2263<br>
><br>
><br>
>     (<a href="http://bugs.python.org/issue2263" target="_blank">http://bugs.python.org/issue2263</a>), where the tp_flags has been<br>
>     changed<br>
>     for the python int object, change which influences PyInt_Check<br>
>     behavior.<br>
><br>
><br>
> It would be nice if the python folks would document<br>
> Py_TPFLAGS_INT_SUBCLASS so we knew what it did. I also wonder if the<br>
> problem with struct and the related bug with timeseries aren't python<br>
> bugs. Shouldn't python be checking for conversion calls rather than an<br>
> integer subclass?<br>
<br>
</div></div>I found this while walking through the python hg log:<br>
<br>
<a href="http://www.mail-archive.com/python-dev@python.org/msg18140.html" target="_blank">http://www.mail-archive.com/python-dev@python.org/msg18140.html</a><br>
</blockquote><div><br>Hmm, makes me think even more that the python code is the buggy one here. Why should it depend on inheritance from the int type? I mean, isn't that kind of limiting? All they need to know is that it can be *converted* to a python integer. It's like duck typing is being replaced by strict typing. Because it's faster to interpret (duh). <br>
<br>Of course, I may have no idea what I'm talking about.<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
As I understand it, that's basically an optimization for fast subclass<br>
testing, and is indeed not documented. But instead of hard-coding the<br>
additional flag for types which support this in numpy, I think it would<br>
be better to have something which will not break again when another flag<br>
is added to some types.</blockquote><div><br>There speaks the build guy ;)<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Specially since related bugs are quite hard to<br>

track. I don't know how to do it, though, as the python doc says that<br>
inheriting tp_flags is tricky...<br>
<div><div></div><div class="h5"></div></div></blockquote><div><br>Chuck <br></div><br></div><br>