[Numpy-tickets] [NumPy] #459: select does not preserve dtype for 1-element case
NumPy
numpy-tickets@scipy....
Sat Mar 3 15:32:33 CST 2007
#459: select does not preserve dtype for 1-element case
-----------------------+----------------------------------------------------
Reporter: batripler | Owner: somebody
Type: defect | Status: new
Priority: high | Milestone:
Component: numpy.lib | Version: none
Severity: normal | Keywords:
-----------------------+----------------------------------------------------
in lib/function_base.py/def select:
421 if type(S) in ScalarType or max(asarray(S).shape)==1:
422 pfac = asarray(1)
423 for k in range(n2+1):
424 pfac = pfac + asarray(choicelist[k])
425 S = S*ones(asarray(pfac).shape)
the last line should preserve dtype:
425 S = S*ones(asarray(pfac).shape, S.dtype)
An example that works is:
n=5; numpy.select([numpy.ones(n)>200],[numpy.ones(n)])
An example that does not currently work, and should:
n=1; numpy.select([numpy.ones(n)>200],[numpy.ones(n)])
The patch is attached.
--
Ticket URL: <http://projects.scipy.org/scipy/numpy/ticket/459>
NumPy <http://projects.scipy.org/scipy/numpy>
The fundamental package needed for scientific computing with Python.
More information about the Numpy-tickets
mailing list