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