[NumPy-Tickets] [NumPy] #1487: vectorize(): result depends on execution order; is this normal?
NumPy Trac
numpy-tickets@scipy....
Mon Jan 3 18:43:33 CST 2011
#1487: vectorize(): result depends on execution order; is this normal?
------------------------------+---------------------------------------------
Reporter: lebigot | Owner: somebody
Type: defect | Status: new
Priority: normal | Milestone: 2.0.0
Component: numpy.core | Version: 1.3.0
Keywords: vectorize, dtype |
------------------------------+---------------------------------------------
Comment(by jpeel):
Replying to [comment:1 lebigot]:
> Replying to [ticket:1487 lebigot]:
> > I had understood from the documentation of vectorize(f) that the type
of the first value returned by '''f''' instead determined the dtype of the
returned array…
>
> PS: what I meant is that I thought, from the documentation, that the
dtype of the returned array was determined ''each time'' by applying f on
the first element of the (new) input arrays.
I agree that the documentation certainly doesn't seem to indicate this
behavior. I would have assumed exactly as you had assumed from what it
says. The current behavior of vectorize is to leave the otypes attribute
(output types) of the vectorize class instance empty if the otypes keyword
isn't set in the call to vectorize. Then, when the first call to the
vectorized function is made, otypes is set according to the input and will
stay this way for all future calls (unless the otypes attribute is
explicitly changed on the vectorize class instance).
It really wouldn't be hard to change vectorize to work as currently
described in the documentation. This would introduce some small slow down
because the output type would have to be determined for each input.
The other option is to change the documentation to accurately describe the
vectorize behavior. It might be recommended to set the otypes keyword to
avoid being surprised.
--
Ticket URL: <http://projects.scipy.org/numpy/ticket/1487#comment:2>
NumPy <http://projects.scipy.org/numpy>
My example project
More information about the NumPy-Tickets
mailing list