mirror of https://github.com/python/cpython
gh-106320: Add pycore_complexobject.h header file (#106339)
Add internal pycore_complexobject.h header file. Move _Py_c_xxx() functions and _PyComplex_FormatAdvancedWriter() function to this new header file.
This commit is contained in:
parent
dbefa88b27
commit
c38c66687f
|
@ -7,16 +7,6 @@ typedef struct {
|
||||||
double imag;
|
double imag;
|
||||||
} Py_complex;
|
} Py_complex;
|
||||||
|
|
||||||
/* Operations on complex numbers from complexmodule.c */
|
|
||||||
|
|
||||||
PyAPI_FUNC(Py_complex) _Py_c_sum(Py_complex, Py_complex);
|
|
||||||
PyAPI_FUNC(Py_complex) _Py_c_diff(Py_complex, Py_complex);
|
|
||||||
PyAPI_FUNC(Py_complex) _Py_c_neg(Py_complex);
|
|
||||||
PyAPI_FUNC(Py_complex) _Py_c_prod(Py_complex, Py_complex);
|
|
||||||
PyAPI_FUNC(Py_complex) _Py_c_quot(Py_complex, Py_complex);
|
|
||||||
PyAPI_FUNC(Py_complex) _Py_c_pow(Py_complex, Py_complex);
|
|
||||||
PyAPI_FUNC(double) _Py_c_abs(Py_complex);
|
|
||||||
|
|
||||||
/* Complex object interface */
|
/* Complex object interface */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -31,14 +21,3 @@ typedef struct {
|
||||||
PyAPI_FUNC(PyObject *) PyComplex_FromCComplex(Py_complex);
|
PyAPI_FUNC(PyObject *) PyComplex_FromCComplex(Py_complex);
|
||||||
|
|
||||||
PyAPI_FUNC(Py_complex) PyComplex_AsCComplex(PyObject *op);
|
PyAPI_FUNC(Py_complex) PyComplex_AsCComplex(PyObject *op);
|
||||||
|
|
||||||
#ifdef Py_BUILD_CORE
|
|
||||||
/* Format the object based on the format_spec, as defined in PEP 3101
|
|
||||||
(Advanced String Formatting). */
|
|
||||||
extern int _PyComplex_FormatAdvancedWriter(
|
|
||||||
_PyUnicodeWriter *writer,
|
|
||||||
PyObject *obj,
|
|
||||||
PyObject *format_spec,
|
|
||||||
Py_ssize_t start,
|
|
||||||
Py_ssize_t end);
|
|
||||||
#endif // Py_BUILD_CORE
|
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
#ifndef Py_INTERNAL_COMPLEXOBJECT_H
|
||||||
|
#define Py_INTERNAL_COMPLEXOBJECT_H
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef Py_BUILD_CORE
|
||||||
|
# error "this header requires Py_BUILD_CORE define"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Operations on complex numbers from complexmodule.c */
|
||||||
|
|
||||||
|
PyAPI_FUNC(Py_complex) _Py_c_sum(Py_complex, Py_complex);
|
||||||
|
PyAPI_FUNC(Py_complex) _Py_c_diff(Py_complex, Py_complex);
|
||||||
|
PyAPI_FUNC(Py_complex) _Py_c_neg(Py_complex);
|
||||||
|
PyAPI_FUNC(Py_complex) _Py_c_prod(Py_complex, Py_complex);
|
||||||
|
PyAPI_FUNC(Py_complex) _Py_c_quot(Py_complex, Py_complex);
|
||||||
|
PyAPI_FUNC(Py_complex) _Py_c_pow(Py_complex, Py_complex);
|
||||||
|
PyAPI_FUNC(double) _Py_c_abs(Py_complex);
|
||||||
|
|
||||||
|
/* Format the object based on the format_spec, as defined in PEP 3101
|
||||||
|
(Advanced String Formatting). */
|
||||||
|
extern int _PyComplex_FormatAdvancedWriter(
|
||||||
|
_PyUnicodeWriter *writer,
|
||||||
|
PyObject *obj,
|
||||||
|
PyObject *format_spec,
|
||||||
|
Py_ssize_t start,
|
||||||
|
Py_ssize_t end);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif // !Py_INTERNAL_COMPLEXOBJECT_H
|
|
@ -1734,6 +1734,7 @@ PYTHON_HEADERS= \
|
||||||
$(srcdir)/Include/internal/pycore_code.h \
|
$(srcdir)/Include/internal/pycore_code.h \
|
||||||
$(srcdir)/Include/internal/pycore_codecs.h \
|
$(srcdir)/Include/internal/pycore_codecs.h \
|
||||||
$(srcdir)/Include/internal/pycore_compile.h \
|
$(srcdir)/Include/internal/pycore_compile.h \
|
||||||
|
$(srcdir)/Include/internal/pycore_complexobject.h \
|
||||||
$(srcdir)/Include/internal/pycore_condvar.h \
|
$(srcdir)/Include/internal/pycore_condvar.h \
|
||||||
$(srcdir)/Include/internal/pycore_context.h \
|
$(srcdir)/Include/internal/pycore_context.h \
|
||||||
$(srcdir)/Include/internal/pycore_dict.h \
|
$(srcdir)/Include/internal/pycore_dict.h \
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "Python.h"
|
#include "Python.h"
|
||||||
|
#include "pycore_complexobject.h" // _Py_c_neg()
|
||||||
#include "pycore_pymath.h" // _PY_SHORT_FLOAT_REPR
|
#include "pycore_pymath.h" // _PY_SHORT_FLOAT_REPR
|
||||||
/* we need DBL_MAX, DBL_MIN, DBL_EPSILON, DBL_MANT_DIG and FLT_RADIX from
|
/* we need DBL_MAX, DBL_MIN, DBL_EPSILON, DBL_MANT_DIG and FLT_RADIX from
|
||||||
float.h. We assume that FLT_RADIX is either 2 or 16. */
|
float.h. We assume that FLT_RADIX is either 2 or 16. */
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
#include "Python.h"
|
#include "Python.h"
|
||||||
#include "pycore_call.h" // _PyObject_CallNoArgs()
|
#include "pycore_call.h" // _PyObject_CallNoArgs()
|
||||||
|
#include "pycore_complexobject.h" // _PyComplex_FormatAdvancedWriter()
|
||||||
#include "pycore_long.h" // _PyLong_GetZero()
|
#include "pycore_long.h" // _PyLong_GetZero()
|
||||||
#include "pycore_object.h" // _PyObject_Init()
|
#include "pycore_object.h" // _PyObject_Init()
|
||||||
#include "pycore_pymath.h" // _Py_ADJUST_ERANGE2()
|
#include "pycore_pymath.h" // _Py_ADJUST_ERANGE2()
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
unicode_format.h -- implementation of str.format().
|
unicode_format.h -- implementation of str.format().
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pycore_complexobject.h" // _PyComplex_FormatAdvancedWriter()
|
||||||
#include "pycore_floatobject.h" // _PyFloat_FormatAdvancedWriter()
|
#include "pycore_floatobject.h" // _PyFloat_FormatAdvancedWriter()
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
|
|
|
@ -212,6 +212,7 @@
|
||||||
<ClInclude Include="..\Include\internal\pycore_code.h" />
|
<ClInclude Include="..\Include\internal\pycore_code.h" />
|
||||||
<ClInclude Include="..\Include\internal\pycore_codecs.h" />
|
<ClInclude Include="..\Include\internal\pycore_codecs.h" />
|
||||||
<ClInclude Include="..\Include\internal\pycore_compile.h" />
|
<ClInclude Include="..\Include\internal\pycore_compile.h" />
|
||||||
|
<ClInclude Include="..\Include\internal\pycore_complexobject.h" />
|
||||||
<ClInclude Include="..\Include\internal\pycore_condvar.h" />
|
<ClInclude Include="..\Include\internal\pycore_condvar.h" />
|
||||||
<ClInclude Include="..\Include\internal\pycore_context.h" />
|
<ClInclude Include="..\Include\internal\pycore_context.h" />
|
||||||
<ClInclude Include="..\Include\internal\pycore_descrobject.h" />
|
<ClInclude Include="..\Include\internal\pycore_descrobject.h" />
|
||||||
|
|
|
@ -543,6 +543,9 @@
|
||||||
<ClInclude Include="..\Include\internal\pycore_compile.h">
|
<ClInclude Include="..\Include\internal\pycore_compile.h">
|
||||||
<Filter>Include\internal</Filter>
|
<Filter>Include\internal</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\Include\internal\pycore_complexobject.h">
|
||||||
|
<Filter>Include\internal</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="..\Include\internal\pycore_condvar.h">
|
<ClInclude Include="..\Include\internal\pycore_condvar.h">
|
||||||
<Filter>Include\internal</Filter>
|
<Filter>Include\internal</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|
Loading…
Reference in New Issue