Viewing file: arrayscalars.h (3.08 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef _NPY_ARRAYSCALARS_H_ #define _NPY_ARRAYSCALARS_H_
#ifndef _MULTIARRAYMODULE typedef struct { PyObject_HEAD npy_bool obval; } PyBoolScalarObject; #endif
typedef struct { PyObject_HEAD signed char obval; } PyByteScalarObject;
typedef struct { PyObject_HEAD short obval; } PyShortScalarObject;
typedef struct { PyObject_HEAD int obval; } PyIntScalarObject;
typedef struct { PyObject_HEAD long obval; } PyLongScalarObject;
typedef struct { PyObject_HEAD npy_longlong obval; } PyLongLongScalarObject;
typedef struct { PyObject_HEAD unsigned char obval; } PyUByteScalarObject;
typedef struct { PyObject_HEAD unsigned short obval; } PyUShortScalarObject;
typedef struct { PyObject_HEAD unsigned int obval; } PyUIntScalarObject;
typedef struct { PyObject_HEAD unsigned long obval; } PyULongScalarObject;
typedef struct { PyObject_HEAD npy_ulonglong obval; } PyULongLongScalarObject;
typedef struct { PyObject_HEAD float obval; } PyFloatScalarObject;
typedef struct { PyObject_HEAD double obval; } PyDoubleScalarObject;
typedef struct { PyObject_HEAD npy_longdouble obval; } PyLongDoubleScalarObject;
typedef struct { PyObject_HEAD npy_cfloat obval; } PyCFloatScalarObject;
typedef struct { PyObject_HEAD npy_cdouble obval; } PyCDoubleScalarObject;
typedef struct { PyObject_HEAD npy_clongdouble obval; } PyCLongDoubleScalarObject;
typedef struct { PyObject_HEAD PyObject * obval; } PyObjectScalarObject;
typedef struct { PyObject_HEAD char obval; } PyScalarObject;
#define PyStringScalarObject PyStringObject #define PyUnicodeScalarObject PyUnicodeObject
typedef struct { PyObject_VAR_HEAD char *obval; PyArray_Descr *descr; int flags; PyObject *base; } PyVoidScalarObject;
/* Macros Py<Cls><bitsize>ScalarObject Py<Cls><bitsize>ArrType_Type are defined in ndarrayobject.h */
#define PyArrayScalar_False ((PyObject *)(&(_PyArrayScalar_BoolValues[0]))) #define PyArrayScalar_True ((PyObject *)(&(_PyArrayScalar_BoolValues[1]))) #define PyArrayScalar_FromLong(i) \ ((PyObject *)(&(_PyArrayScalar_BoolValues[((i)!=0)]))) #define PyArrayScalar_RETURN_BOOL_FROM_LONG(i) \ return Py_INCREF(PyArrayScalar_FromLong(i)), \ PyArrayScalar_FromLong(i) #define PyArrayScalar_RETURN_FALSE \ return Py_INCREF(PyArrayScalar_False), \ PyArrayScalar_False #define PyArrayScalar_RETURN_TRUE \ return Py_INCREF(PyArrayScalar_True), \ PyArrayScalar_True
#define PyArrayScalar_New(cls) \ Py##cls##ArrType_Type.tp_alloc(&Py##cls##ArrType_Type, 0) #define PyArrayScalar_VAL(obj, cls) \ ((Py##cls##ScalarObject *)obj)->obval #define PyArrayScalar_ASSIGN(obj, cls, val) \ PyArrayScalar_VAL(obj, cls) = val
#endif
|