[Numpy-discussion] numarray, Numeric and 64-bit platforms

Francesc Altet faltet at carabos.com
Tue Apr 26 10:45:02 EDT 2005


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
 "-"





More information about the NumPy-Discussion mailing list