mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-10-31 16:07:41 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			176 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			176 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #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
 | |
|         npy_half obval;
 | |
| } PyHalfScalarObject;
 | |
| 
 | |
| 
 | |
| 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
 | |
|         npy_datetime obval;
 | |
|         PyArray_DatetimeMetaData obmeta;
 | |
| } PyDatetimeScalarObject;
 | |
| 
 | |
| typedef struct {
 | |
|         PyObject_HEAD
 | |
|         npy_timedelta obval;
 | |
|         PyArray_DatetimeMetaData obmeta;
 | |
| } PyTimedeltaScalarObject;
 | |
| 
 | |
| 
 | |
| 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
 |