[NumPy-Tickets] [NumPy] #1739: issubdtype(<whatever>, bool) malfunctions
NumPy Trac
numpy-tickets@scipy....
Wed Feb 9 18:05:12 CST 2011
#1739: issubdtype(<whatever>, bool) malfunctions
------------------------+---------------------------------------------------
Reporter: pv | Owner: somebody
Type: defect | Status: new
Priority: low | Milestone: 2.0.0
Component: numpy.core | Version: 1.5.0
Keywords: |
------------------------+---------------------------------------------------
Interestingly,
{{{
>>> np.issubdtype(int, np.bool_)
False
>>> np.issubdtype(str, bool)
True
}}}
The issubdtype routine apparently does not work correctly for this case
(and never has). What it does is
{{{
if issubclass_(arg2, generic):
return issubclass(dtype(arg1).type, arg2)
mro = dtype(arg2).type.mro()
if len(mro) > 1:
val = mro[1]
else:
val = mro[0]
return issubclass(dtype(arg1).type, val)
}}}
Using mro[1] makes e.g. the Python `int` type behave as the more general
`signedinteger`.
For `bool`, it's directly `generic`, which results into strangeness.
It might be better to hardcode the special handling of Python types, than
just picking mro[1]...
--
Ticket URL: <http://projects.scipy.org/numpy/ticket/1739>
NumPy <http://projects.scipy.org/numpy>
My example project
More information about the NumPy-Tickets
mailing list