[Numpy-discussion] __array_wrap__

Charles R Harris charlesr.harris@gmail....
Tue Sep 29 13:35:36 CDT 2009


On Tue, Sep 29, 2009 at 12:23 PM, Robert Kern <robert.kern@gmail.com> wrote:

> On Tue, Sep 29, 2009 at 13:09, Charles R Harris
> <charlesr.harris@gmail.com> wrote:
> >
> >
> > On Tue, Sep 29, 2009 at 11:00 AM, Neal Becker <ndbecker2@gmail.com>
> wrote:
> >>
> >> fixed_pt arrays need to apply the overflow_policy after operations
> >> (overflow_policy could be clip, or throw exception).
> >>
> >> I thought __array_wrap__ would work for this, but it seems to not be
> >> called
> >> when I need it.  For example:
> >>
> >> In [13]: obj
> >> Out[13]: fixed_pt_array([  0,  32,  64,  96, 128])
> >>
> >> In [14]: obj*100 < this should overflow
> >> enter: [  0  32  64  96 128] << on entry into __array_wrap
> >> enter: [0 32 64 96 128]
> >> exit: [  0  32  64  96 128]
> >> Out[14]: fixed_pt_array([    0,  3200,  6400,  9600, 12800])
> >>
> >> Apparantly, obj*100 is never passed to array_wrap.
> >>
> >> Is there another way I can do this?
> >>
> > I believe array wrap has to be explicitly called after the fact.
>
> Ufuncs call __array_wrap__ implicitly.
>
>
Thanks for the info. How do they decide which one to call?

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20090929/6af1c046/attachment-0001.html 


More information about the NumPy-Discussion mailing list