Hi, I'm having problems converting numarray objects into Numeric in 64-bit platforms, and I think this is numarray fault, but I'm not completely sure. The problem can be easily visualized in an example (I'm using numarray 1.3.1 and Numeric 24.0b2). In a 32-bit platform (Intel32, Linux):
Num=Numeric.array((3,),typecode='l') na=numarray.array(Num,typecode=Num.typecode()) Numeric.array(na,typecode=na.typecode()) array([3],'i') # The conversion has finished correctly
In 64-bit platforms (AMD64, Linux):
Num=Numeric.array((3,),typecode='l') na=numarray.array(Num,typecode=Num.typecode()) Numeric.array(na,typecode=na.typecode()) Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: typecode argument must be a valid type.
The problem is that, for 32-bit platforms, na.typecode() == 'i' as it should be, but for 64-bit platforms na.typecode() == 'N' that is not a valid type in Numeric. I guess that na.typecode() should be mapped to 'l' in 64-bit platforms so that Numeric can recognize the Int64 correctly. Any suggestion? --
0,0< Francesc Altet http://www.carabos.com/ V V Cárabos Coop. V. Enjoy Data "-"