mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-05 17:40:39 +00:00
768e812e45
* On windows it's strongly desired to be able to compile straight out of a clean checkout or source download. This means anyone can download the source and investigate something quickly, without having to worry about the hassle of figuring out how the project downloads 3rd party dependencies, fetching them, getting them registered in the right place. * This can't be put in a submodule as git submodules don't get downloaded by default so people new to git will get confusing compilation messages, and someone downloading the source from github directly without cloning via git won't get submodules included. * It does add some extra size to a fresh download/checkout which is unfortunate, but absolutely worth the cost. Shallow checkouts still aren't unfeasibly large, and it's only a one-off cost at clone time.
70 lines
1.8 KiB
C
70 lines
1.8 KiB
C
/* Complex number structure */
|
|
|
|
#ifndef Py_COMPLEXOBJECT_H
|
|
#define Py_COMPLEXOBJECT_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef Py_LIMITED_API
|
|
typedef struct {
|
|
double real;
|
|
double imag;
|
|
} 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);
|
|
#endif
|
|
|
|
/* Complex object interface */
|
|
|
|
/*
|
|
PyComplexObject represents a complex number with double-precision
|
|
real and imaginary parts.
|
|
*/
|
|
#ifndef Py_LIMITED_API
|
|
typedef struct {
|
|
PyObject_HEAD
|
|
Py_complex cval;
|
|
} PyComplexObject;
|
|
#endif
|
|
|
|
PyAPI_DATA(PyTypeObject) PyComplex_Type;
|
|
|
|
#define PyComplex_Check(op) PyObject_TypeCheck(op, &PyComplex_Type)
|
|
#define PyComplex_CheckExact(op) (Py_TYPE(op) == &PyComplex_Type)
|
|
|
|
#ifndef Py_LIMITED_API
|
|
PyAPI_FUNC(PyObject *) PyComplex_FromCComplex(Py_complex);
|
|
#endif
|
|
PyAPI_FUNC(PyObject *) PyComplex_FromDoubles(double real, double imag);
|
|
|
|
PyAPI_FUNC(double) PyComplex_RealAsDouble(PyObject *op);
|
|
PyAPI_FUNC(double) PyComplex_ImagAsDouble(PyObject *op);
|
|
#ifndef Py_LIMITED_API
|
|
PyAPI_FUNC(Py_complex) PyComplex_AsCComplex(PyObject *op);
|
|
#endif
|
|
|
|
/* Format the object based on the format_spec, as defined in PEP 3101
|
|
(Advanced String Formatting). */
|
|
#ifndef Py_LIMITED_API
|
|
PyAPI_FUNC(int) _PyComplex_FormatAdvancedWriter(
|
|
_PyUnicodeWriter *writer,
|
|
PyObject *obj,
|
|
PyObject *format_spec,
|
|
Py_ssize_t start,
|
|
Py_ssize_t end);
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* !Py_COMPLEXOBJECT_H */
|