Staging
v0.8.1
https://github.com/python/cpython
Revision f09b1a829e013b4e1e08eb8fbc0b6bab4c683ed9 authored by Tarek Ziadé on 04 June 2009, 07:40:35 UTC, committed by Tarek Ziadé on 04 June 2009, 07:40:35 UTC
................
  r73199 | tarek.ziade | 2009-06-04 09:39:50 +0200 (Thu, 04 Jun 2009) | 9 lines

  Merged revisions 73197 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r73197 | tarek.ziade | 2009-06-04 09:31:52 +0200 (Thu, 04 Jun 2009) | 1 line

    improved test coverage for distutils.command.install and cleaned it up
  ........
................
1 parent 8ed7e2a
Raw File
Tip revision: f09b1a829e013b4e1e08eb8fbc0b6bab4c683ed9 authored by Tarek Ziadé on 04 June 2009, 07:40:35 UTC
Blocked revisions 73199 via svnmerge
Tip revision: f09b1a8
complexobject.h
/* Complex number structure */

#ifndef Py_COMPLEXOBJECT_H
#define Py_COMPLEXOBJECT_H
#ifdef __cplusplus
extern "C" {
#endif

typedef struct {
    double real;
    double imag;
} Py_complex;

/* Operations on complex numbers from complexmodule.c */

#define c_sum _Py_c_sum
#define c_diff _Py_c_diff
#define c_neg _Py_c_neg
#define c_prod _Py_c_prod
#define c_quot _Py_c_quot
#define c_pow _Py_c_pow
#define c_abs _Py_c_abs

PyAPI_FUNC(Py_complex) c_sum(Py_complex, Py_complex);
PyAPI_FUNC(Py_complex) c_diff(Py_complex, Py_complex);
PyAPI_FUNC(Py_complex) c_neg(Py_complex);
PyAPI_FUNC(Py_complex) c_prod(Py_complex, Py_complex);
PyAPI_FUNC(Py_complex) c_quot(Py_complex, Py_complex);
PyAPI_FUNC(Py_complex) c_pow(Py_complex, Py_complex);
PyAPI_FUNC(double) c_abs(Py_complex);


/* Complex object interface */

/*
PyComplexObject represents a complex number with double-precision
real and imaginary parts.
*/

typedef struct {
    PyObject_HEAD
    Py_complex cval;
} PyComplexObject;     

PyAPI_DATA(PyTypeObject) PyComplex_Type;

#define PyComplex_Check(op) PyObject_TypeCheck(op, &PyComplex_Type)
#define PyComplex_CheckExact(op) (Py_TYPE(op) == &PyComplex_Type)

PyAPI_FUNC(PyObject *) PyComplex_FromCComplex(Py_complex);
PyAPI_FUNC(PyObject *) PyComplex_FromDoubles(double real, double imag);

PyAPI_FUNC(double) PyComplex_RealAsDouble(PyObject *op);
PyAPI_FUNC(double) PyComplex_ImagAsDouble(PyObject *op);
PyAPI_FUNC(Py_complex) PyComplex_AsCComplex(PyObject *op);

#ifdef __cplusplus
}
#endif
#endif /* !Py_COMPLEXOBJECT_H */
back to top