[Numpy-discussion] NotImplementedType should be an exception

Charles R Harris charlesr.harris at gmail.com
Sat Jun 21 10:57:12 EDT 2008


On Sat, Jun 21, 2008 at 7:39 AM, Travis E. Oliphant <oliphant at enthought.com>
wrote:

> Charles R Harris wrote:
> > Shouldn't this raise an NotImplementedError exception?
> >
> > In [7]: type(remainder(complex192(1), complex192(1)))
> > Out[7]: <type 'NotImplementedType'>
> I'm not sure if it is relevant in this case but we do need to keep in
> mind that Python uses the NotImplementedType as a signal to hand off the
> calculation to the other object in a binary operation.
>
> If we change this here we may affect that behavior, unintentionally.
>

But Python only does that if the Py_TPFLAGS_CHECKTYPES bit in the tp_flag is
set. With that flag it should try with the other variable, then raise a Type
error if that fails also. That's why I think the flag isn't set for these
variables; we should never see the NotImplementedType. And at first glance
at the code, I don't think that flag *is* set for the type.

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20080621/ce3b65dc/attachment.html>


More information about the NumPy-Discussion mailing list