[Numpy-discussion] C++ Example
Bryan Van de Ven
bryanv@continuum...
Tue Mar 6 17:43:23 CST 2012
On 3/6/12 2:39 PM, Sturla Molden wrote:
> We can augment standard C with syntax suger for
> generics, or even NumPy arrays and Python types, using a Python script
> as meta-compiler. We don't need C++ for that.
I can only speak for myself. I do not want to be in the meta-compiler
business, and I do want proper tool support for templating.
Moreover:
**begin repeat
*
* #from = BOOL, BYTE, UBYTE, SHORT, USHORT, INT, UINT, LONG, ULONG,
* LONGLONG, ULONGLONG, HALF, FLOAT, DOUBLE, LONGDOUBLE,
* CFLOAT, CDOUBLE, CLONGDOUBLE, OBJECT, DATETIME, TIMEDELTA#
* #suff = bool, byte, ubyte, short, ushort, int, uint, long, ulong,
* longlong, ulonglong, half, float, double, longdouble,
* cfloat, cdouble, clongdouble, object, datetime, timedelta#
* #sort = 1*18, 0*3#
* #num = 1*15, 2*3, 1*3#
* #fromtyp = Bool, byte, ubyte, short, ushort, int, uint, long, ulong,
* longlong, ulonglong, npy_half, float, double, longdouble,
* float, double, longdouble, PyObject *, datetime, timedelta#
* #NAME = Bool, Byte, UByte, Short, UShort, Int, UInt, Long, ULong,
* LongLong, ULongLong, Half, Float, Double, LongDouble,
* CFloat, CDouble, CLongDouble, Object, Datetime, Timedelta#
* #kind = GENBOOL, SIGNED, UNSIGNED, SIGNED, UNSIGNED, SIGNED,
UNSIGNED, SIGNED, UNSIGNED,
* SIGNED, UNSIGNED, FLOATING, FLOATING, FLOATING, FLOATING,
* COMPLEX, COMPLEX, COMPLEX, OBJECT, DATETIME, TIMEDELTA#
* #endian = |*3, =*15, |, =*2#
* #isobject= 0*18,NPY_OBJECT_DTYPE_FLAGS,0*2#
*/
is not exactly sweet-tasting sugar. It would make more sense for all the
various values to be bundled together by type, so that a type is
comprehensible as whole, quickly. Instead all the values are in
separated property lists that cut across all the types. Worse, very
similar or identical information to what is in this list is repeated,
without any chance of consistency or error checking, all over the place.
Bryan
More information about the NumPy-Discussion
mailing list