Martin v. Löwis wrote: > Travis E. Oliphant schrieb: > >>>2. Should primitive type codes be characters or integers (from an enum) at >>>C level? >>> - I prefer integers >> >>>3. Should size be expressed in bits or bytes? >>> - I prefer bits >>> >> >>So, you want an integer enum for the "kind" and an integer for the >>bitsize? That's fine with me. >> >>One thing I just remembered. We have T_UBYTE and T_BYTE, etc. defined >>in structmember.h already. Should we just re-use those #defines while >>adding to them to make an easy to use interface for primitive types? > > > Notice that those type codes imply sizes, namely the platform sizes > (where "platform" always means "what the C compiler does"). So if > you want to have platform-independent codes as well, you shouldn't > use the T_ codes. >
In NumPy we've found it convenient to use both. Basically, we've set up a header file that "does the translation" using #defines and typedefs to create things like (on a 32-bit platform) typedef npy_int32 int #define NPY_INT32 NPY_INT So, that either the T_code-like enum or the bit-width can be used interchangable. Typically people want to specify bit-widths (and see their data-types in bit-widths) but in C-code that implements something you need to use one of the platform integers. I don't know if we really need to bring all of that over. -Travis _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com