numpy 2.0.0
|
00001 #ifndef _NPY_SCALARTYPES_H_ 00002 #define _NPY_SCALARTYPES_H_ 00003 00004 /* Internal look-up tables */ 00005 #ifdef NPY_ENABLE_SEPARATE_COMPILATION 00006 extern NPY_NO_EXPORT unsigned char 00007 _npy_can_cast_safely_table[NPY_NTYPES][NPY_NTYPES]; 00008 extern NPY_NO_EXPORT signed char 00009 _npy_scalar_kinds_table[NPY_NTYPES]; 00010 extern NPY_NO_EXPORT signed char 00011 _npy_type_promotion_table[NPY_NTYPES][NPY_NTYPES]; 00012 extern NPY_NO_EXPORT signed char 00013 _npy_smallest_type_of_kind_table[NPY_NSCALARKINDS]; 00014 extern NPY_NO_EXPORT signed char 00015 _npy_next_larger_type_table[NPY_NTYPES]; 00016 #else 00017 NPY_NO_EXPORT unsigned char 00018 _npy_can_cast_safely_table[NPY_NTYPES][NPY_NTYPES]; 00019 NPY_NO_EXPORT signed char 00020 _npy_scalar_kinds_table[NPY_NTYPES]; 00021 NPY_NO_EXPORT signed char 00022 _npy_type_promotion_table[NPY_NTYPES][NPY_NTYPES]; 00023 NPY_NO_EXPORT signed char 00024 _npy_smallest_type_of_kind_table[NPY_NSCALARKINDS]; 00025 NPY_NO_EXPORT signed char 00026 _npy_next_larger_type_table[NPY_NTYPES]; 00027 #endif 00028 00029 NPY_NO_EXPORT void 00030 initialize_casting_tables(void); 00031 00032 NPY_NO_EXPORT void 00033 initialize_numeric_types(void); 00034 00035 NPY_NO_EXPORT void 00036 format_longdouble(char *buf, size_t buflen, longdouble val, unsigned int prec); 00037 00038 #if PY_VERSION_HEX >= 0x03000000 00039 NPY_NO_EXPORT void 00040 gentype_struct_free(PyObject *ptr); 00041 #else 00042 NPY_NO_EXPORT void 00043 gentype_struct_free(void *ptr, void *arg); 00044 #endif 00045 00046 NPY_NO_EXPORT int 00047 _typenum_fromtypeobj(PyObject *type, int user); 00048 00049 NPY_NO_EXPORT void * 00050 scalar_value(PyObject *scalar, PyArray_Descr *descr); 00051 00052 #endif