Why doesn't array(a, dtype=single, copy=0) downcast a double array.

Travis Oliphant oliphant at ee.byu.edu
Tue Oct 17 13:13:26 EDT 2006


Travis Oliphant wrote:

>Charles R Harris wrote:
>  
>
>>It seems to me that since the behaviour when copy=0 is to make a copy 
>>only if necessary, it should find it necessary and make the downcast. 
>>After all, array(a, dtype=single, copy=1) does just that without 
>>complaint. Some common code in linalg could be replaced if array and 
>>asarray would do that operation.
>>
>>    
>>
>Well, the fact that it makes the copy without raising an error is 
>different behavior from Numeric and should be considered an unintended 
>change.
>
>We definitely should make this consistent for copy=0 or copy=1.  The 
>only question, is do we raise the error in both cases or allow the 
>conversion in both cases.
>
>The long-standing behavior is to raise the error on possible-loss 
>conversion and so my opinion is that we should continue with that behavior.
>
>  
>
But, on the other hand, it looks like numarray went the other direction 
and allows a cast using the array call.

Thus

import numarray
a = numarray.array([1,2,3],'d')
numarray.array(a, 'f')

works


So, I'm willing to go with the numarray behavior in numpy.


-Travis


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642




More information about the NumPy-Discussion mailing list