numpy  2.0.0
src/multiarray/scalartypes.h
Go to the documentation of this file.
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, npy_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