[Numpy-discussion] UInt64 is not supported on 64-bit architecture?

Francesc Alted falted at openlc.org
Tue Mar 18 04:54:09 CST 2003


Hi,

numarray seems to not support UInt64 types in 64-bit architecture. For
example, on SGI Origin 2000 with R12000 processors, I'm getting:

Python 2.2.2 (#2, Nov 19 2002, 18:46:18)
[GCC 2.95.2 19991024 (release)] on irix646
Type "help", "copyright", "credits" or "license" for more information.
>>> import numarray
>>> numarray.ones((3,), numarray.UInt64)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File 
"/scratch1/fernande/libs/lib/python2.2/site-packages/numarray/numarray.py", 
line 959, in ones
    retarr = _fillarray(ndarray.product(shape), 1, 0, type)
  File 
"/scratch1/fernande/libs/lib/python2.2/site-packages/numarray/numarray.py", 
line 160, in _fillarray
    if outtype > ptype: # Hack for Int64/UInt64 on 32-bit platforms.
  File 
"/scratch1/fernande/libs/lib/python2.2/site-packages/numarray/numerictypes.py", 
line 112, in __cmp__
    return (genericTypeRank.index(self.name) -
ValueError: list.index(x): x not in list
>>>

while in my laptop (pentium IV, i.e. 32-bit), I've no problem with that:

Python 2.2.2 (#3, Dec 26 2002, 16:40:05)
[GCC 2.95.4 20011002 (Debian prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numarray
>>> numarray.ones((3,), numarray.UInt64)
array([1, 1, 1], type=UInt64)
>>>

This is bizarre that a 64-bit machine does not support the UInt64 type while
a 32-bit one do. I've been looking at the numarray code and that seems to be
intentional, but I can't understand why.

Somebody can enlighten my mind? Thanks,

-- 
Francesc Alted




More information about the Numpy-discussion mailing list