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

Todd Miller jmiller at stsci.edu
Tue Mar 18 09:25:42 CST 2003


That's great to hear!  Incidentally,  you should probably also set LP64 
to 1.  That asserts that a Python integer (a C long) is 64-bits and 
makes the default array integer type Int64 rather than Int32.  I don't 
know anything about SGI,  but you can determine if LP64 is appropriate 
by looking at sys.maxint:  2-billionish is 32-bit,  9-gazillionish is 
64-bit.

Todd

Francesc Alted wrote:

>A Dimarts 18 Març 2003 16:47, Todd Miller va escriure:
>
>>It may be a fairly simple matter of an unsupported platform;  I don't
>>have access to the SGI machine you're dealing with.   The default block
>>in numarray's setup.py compiles for 32-bit without support for UInt64.
>> Add a case for
>>SGI and you may be done.  If so,  please send a patch.
>>
>
>I see. I'm attaching the patch for IRIX 6.5 (IRIX64 nut 6.5 07121149 IP27):
>
>--- setup.py.orig       Tue Mar 18 17:24:40 2003
>+++ setup.py.irix       Tue Mar 18 17:42:37 2003
>@@ -32,6 +32,8 @@
> if sys.platform == "osf1V5":
>     EXTRA_COMPILE_ARGS.extend(["-ieee"])
>     LP64, HAS_UINT64, HAS_FLOAT128 = 1, 1, 1
>+elif sys.platform == "irix646":
>+    LP64, HAS_UINT64, HAS_FLOAT128 = 0, 1, 0
> elif sys.platform == "linux2":
>     LP64, HAS_UINT64, HAS_FLOAT128 = 0, 1, 0
> elif sys.platform == "sunos5":
>
>I've only set the UInt64 support because I don't know if this platform
>supports floats of 128 bits and neither what LP64 exactly means.
>
>With that, numarray supports UInt64 arrays on IRIX perfectly:
>
>nut 435$ python
>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)
>>>>
>array([1, 1, 1], type=UInt64)
>
>>>>^D
>>>>
>
>Thanks for the pointer,
>






More information about the Numpy-discussion mailing list