On Fri, Aug 23, 2013 at 8:59 AM, Chris Barker - NOAA Federal <
chris.bar...@noaa.gov> wrote:

> On Aug 22, 2013, at 11:57 PM, David Cournapeau <courn...@gmail.com> wrote:
>
> npy_long is indeed just an alias to C long,
>
>
> Which means it's likely broken on 32 bit platforms and 64 bit MSVC.
>
> np.long is an alias to python's long:
>
> But python's long is an unlimited type--it can't be mapped to a c type at
> all.
>
> arch -32 python -c "import numpy as np; print np.dtype(np.int); print
> np.dtype(np.long)"
> int32
> int64
>
>
> So this is giving us a 64 bit int--not a bad compromise, but not a python
> long--I've got to wonder why the alias is there at all.
>
> arch -64 python -c "import numpy as np; print np.dtype(np.int); print
> np.dtype(np.long)"
> int64
> int64
>
> Same thing on 64 bit.
>
> So while np.long is an alias to python long--it apparently is translated
> internally as 64 bit -- everywhere?
>
> So apparently there is no way to get a "platform long". ( or, for that
> matter, a platform anything else, it's just that there is more consistancy
> among common platforms for the others)
>
>
I use 'bBhHiIlLqQ' for the C types. Long varies between 32 & 64 bit,
depending on the platform and 64 bit convention chosen. The C int is always
32 bits as far as I know.

Chuck
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to