Francesc Alted wrote:
A Dimarts 18 Març 2003 18:24, Todd Miller va escriure:
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.
Well, to say the truth, I've already tested that, but it gave me some weird errors with the Numeric compatibility tests included in PyTables. In particular, it seems to make a difference between the "l" (long) and "i" (int) typecodes, that make the tests to fail (maybe I should investigate this more, but I'm short of time lately).
That sounds consistent with my understanding of LP64. C longs and pointers are 64-bit, while C ints remain 32-bit. Hence, for LP64, 'i' and 'l' should be different. That is not to say numarray has it's act totally together here; LP64 is rather confusing, as is the fact that a Python Int is actually a C long. For now, I'll just apply your patch as-is.
Regards, Todd