symbian-qemu-0.9.1-12/python-win32-2.6.1/include/complexobject.h
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 /* Complex number structure */
       
     2 
       
     3 #ifndef Py_COMPLEXOBJECT_H
       
     4 #define Py_COMPLEXOBJECT_H
       
     5 #ifdef __cplusplus
       
     6 extern "C" {
       
     7 #endif
       
     8 
       
     9 typedef struct {
       
    10     double real;
       
    11     double imag;
       
    12 } Py_complex;
       
    13 
       
    14 /* Operations on complex numbers from complexmodule.c */
       
    15 
       
    16 #define c_sum _Py_c_sum
       
    17 #define c_diff _Py_c_diff
       
    18 #define c_neg _Py_c_neg
       
    19 #define c_prod _Py_c_prod
       
    20 #define c_quot _Py_c_quot
       
    21 #define c_pow _Py_c_pow
       
    22 #define c_abs _Py_c_abs
       
    23 
       
    24 PyAPI_FUNC(Py_complex) c_sum(Py_complex, Py_complex);
       
    25 PyAPI_FUNC(Py_complex) c_diff(Py_complex, Py_complex);
       
    26 PyAPI_FUNC(Py_complex) c_neg(Py_complex);
       
    27 PyAPI_FUNC(Py_complex) c_prod(Py_complex, Py_complex);
       
    28 PyAPI_FUNC(Py_complex) c_quot(Py_complex, Py_complex);
       
    29 PyAPI_FUNC(Py_complex) c_pow(Py_complex, Py_complex);
       
    30 PyAPI_FUNC(double) c_abs(Py_complex);
       
    31 
       
    32 
       
    33 /* Complex object interface */
       
    34 
       
    35 /*
       
    36 PyComplexObject represents a complex number with double-precision
       
    37 real and imaginary parts.
       
    38 */
       
    39 
       
    40 typedef struct {
       
    41     PyObject_HEAD
       
    42     Py_complex cval;
       
    43 } PyComplexObject;     
       
    44 
       
    45 PyAPI_DATA(PyTypeObject) PyComplex_Type;
       
    46 
       
    47 #define PyComplex_Check(op) PyObject_TypeCheck(op, &PyComplex_Type)
       
    48 #define PyComplex_CheckExact(op) (Py_TYPE(op) == &PyComplex_Type)
       
    49 
       
    50 PyAPI_FUNC(PyObject *) PyComplex_FromCComplex(Py_complex);
       
    51 PyAPI_FUNC(PyObject *) PyComplex_FromDoubles(double real, double imag);
       
    52 
       
    53 PyAPI_FUNC(double) PyComplex_RealAsDouble(PyObject *op);
       
    54 PyAPI_FUNC(double) PyComplex_ImagAsDouble(PyObject *op);
       
    55 PyAPI_FUNC(Py_complex) PyComplex_AsCComplex(PyObject *op);
       
    56 
       
    57 #ifdef __cplusplus
       
    58 }
       
    59 #endif
       
    60 #endif /* !Py_COMPLEXOBJECT_H */