1# From https://docs.python.org/3/c-api/conversion.html 2 3from .object cimport PyObject 4 5cdef extern from "Python.h": 6 ctypedef struct va_list 7 8 int PyOS_snprintf(char *str, size_t size, const char *format, ...) 9 # Output not more than size bytes to str according to the format 10 # string format and the extra arguments. See the Unix man page snprintf(2). 11 12 int PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va) 13 # Output not more than size bytes to str according to the format 14 # string format and the variable argument list va. Unix man page vsnprintf(2). 15 16 double PyOS_string_to_double(const char *s, char **endptr, PyObject *overflow_exception) except? -1.0 17 # Convert a string s to a double, raising a Python exception on failure. The set of 18 # accepted strings corresponds to the set of strings accepted by Python’s float() 19 # constructor, except that s must not have leading or trailing whitespace. 20 # The conversion is independent of the current locale. 21 22 enum: 23 Py_DTSF_SIGN 24 Py_DTSF_ADD_DOT_0 25 Py_DTSF_ALT 26 27 char* PyOS_double_to_string(double val, char format_code, int precision, int flags, int *ptype) except NULL 28 # Convert a double val to a string using supplied format_code, precision, and flags. 29 30 int PyOS_stricmp(const char *s1, const char *s2) 31 # Case insensitive comparison of strings. The function works almost identically 32 # to strcmp() except that it ignores the case. 33 34 int PyOS_strnicmp(const char *s1, const char *s2, Py_ssize_t size) 35 # Case insensitive comparison of strings. The function works almost identically 36 # to strncmp() except that it ignores the case. 37