diff options
author | Guido van Rossum <guido@python.org> | 1996-01-12 00:47:05 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1996-01-12 00:47:05 (GMT) |
commit | f9fca9252f64a93b4598615c504011fa385333ae (patch) | |
tree | d5de47973434e58cc24497e9b2d7386f3a1ade37 /Include/complexobject.h | |
parent | 77654a7e5ecfbd4bd5319f02452329609c6e5921 (diff) | |
download | cpython-f9fca9252f64a93b4598615c504011fa385333ae.zip cpython-f9fca9252f64a93b4598615c504011fa385333ae.tar.gz cpython-f9fca9252f64a93b4598615c504011fa385333ae.tar.bz2 |
complex numbers a la Konrad Hinsen
Diffstat (limited to 'Include/complexobject.h')
-rw-r--r-- | Include/complexobject.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Include/complexobject.h b/Include/complexobject.h new file mode 100644 index 0000000..09a8683 --- /dev/null +++ b/Include/complexobject.h @@ -0,0 +1,49 @@ +#ifndef COMPLEXOBJECT_H +#define COMPLEXOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Complex number structure */ + +typedef struct { + double real; + double imag; +} complex; + +/* Operations on complex numbers from complexmodule.c */ + +extern complex c_sum(); +extern complex c_diff(); +extern complex c_neg(); +extern complex c_prod(); +extern complex c_quot(); +extern complex c_pow(); + + +/* Complex object interface */ + +/* +PyComplexObject represents a complex number with double-precision +real and imaginary parts. +*/ + +typedef struct { + PyObject_HEAD + complex cval; +} PyComplexObject; + +extern DL_IMPORT(PyTypeObject) PyComplex_Type; + +#define PyComplex_Check(op) ((op)->ob_type == &PyComplex_Type) + +extern PyObject *PyComplex_FromCComplex Py_PROTO((complex)); +extern PyObject *PyComplex_FromDoubles Py_PROTO((double real, double imag)); + +extern double PyComplex_RealAsDouble Py_PROTO((PyObject *op)); +extern double PyComplex_ImagAsDouble Py_PROTO((PyObject *op)); + +#ifdef __cplusplus +} +#endif +#endif /* !COMPLEXOBJECT_H */ |