[Numpy-discussion] dtype and dtype.char
Charles سمير Doutriaux
doutriaux1@llnl....
Tue Sep 8 20:03:42 CDT 2009
Ok I finally got it....
I was going at it backward... Instead of checking for NPY_INT64 and
trying to figure out which letter it is different on each platform) I
needed to check for
NPY_LONGLONG /NPY_LONG/ NPY_INT, etc..
i.e I need to check for the numpy types that have an associated unique
letter. Not their aliases since these can be different...
It works now.
C.
On Sep 8, 2009, at 1:13 PM, Charles سمير Doutriaux wrote:
> Hi Robert,
>
> Ok we have a section of code that used to be like that:
>
> char t;
> switch(type) {
> case NPY_CHAR:
> t = 'c';
> break;
> etc...
>
> I now replaced with
> char t;
> switch(type) {
> case NPY_CHAR:
> t = NPY_CHARLTR;
> break;
>
> But I'm still stuck with numpy.uint64
> NPY_UINT64LTR does not seem to exist....
>
> What do you recommend?
>
> C.
>
> On Sep 8, 2009, at 1:02 PM, Robert Kern wrote:
>
>> 2009/9/8 Charles سمير Doutriaux <doutriaux1@llnl.gov>:
>>> Hi,
>>>
>>> I'm testing our code on 64bit vs 32bit
>>>
>>> I just realized that the dtype.car is platform dependent.
>>>
>>> I guess it's normal
>>>
>>> her emy little test:
>>> for t in
>>> [numpy
>>> .byte
>>> ,numpy
>>> .short
>>> ,numpy
>>> .int
>>> ,numpy
>>> .int32
>>> ,numpy
>>> .float
>>> ,numpy
>>> .float32
>>> ,numpy
>>> .double
>>> ,numpy.ubyte,numpy.ushort,numpy.uint,numpy.int64,numpy.uint64]:
>>> print 'Testing type:',t
>>> data = numpy.array([0], dtype=t)
>>> print data.dtype.char,data.dtype
>>>
>>>
>>> On 64bit I get for numpy.unit64:
>>> Testing type: <type 'numpy.uint64'>
>>> L uint64
>>>
>>> Whereas on 32bit i get
>>> Testing type: <type 'numpy.uint64'>
>>> Q uint64
>>>
>>> Is it really normal? I guess that means I shouldn't expect the
>>> dtype.char to be the same on all platform....
>>>
>>> Is that right?
>>
>> Yes. dtype.char corresponds more closely to the C type ("L" ==
>> "unsigned long" and "Q" == "unsigned long long") which is platform
>> specific.
>>
>> --
>> Robert Kern
>>
>> "I have come to believe that the whole world is an enigma, a harmless
>> enigma that is made terrible by our own mad attempt to interpret it
>> as
>> though it had an underlying truth."
>> -- Umberto Eco
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion@scipy.org
>> http://**mail.scipy.org/mailman/listinfo/numpy-discussion
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://*mail.scipy.org/mailman/listinfo/numpy-discussion
More information about the NumPy-Discussion
mailing list