Index: swig/Lib/python/ccomplex.i |
=================================================================== |
--- swig/Lib/python/ccomplex.i (revision 0) |
+++ swig/Lib/python/ccomplex.i (revision 0) |
@@ -0,0 +1,29 @@ |
+/* ----------------------------------------------------------------------------- |
+ * See the LICENSE file for information on copyright, usage and redistribution |
+ * of SWIG, and the README file for authors - http://www.swig.org/release.html. |
+ * |
+ * ccomplex.i |
+ * |
+ * C complex typemaps |
+ * ISO C99: 7.3 Complex arithmetic <complex.h> |
+ * ----------------------------------------------------------------------------- */ |
+ |
+ |
+%include <pycomplex.swg> |
+ |
+%{ |
+#include <complex.h> |
+%} |
+ |
+ |
+/* C complex constructor */ |
+#define CCplxConst(r, i) ((r) + I*(i)) |
+ |
+%swig_cplxflt_convn(float complex, CCplxConst, creal, cimag); |
+%swig_cplxdbl_convn(double complex, CCplxConst, creal, cimag); |
+%swig_cplxdbl_convn(complex, CCplxConst, creal, cimag); |
+ |
+/* declaring the typemaps */ |
+%typemaps_primitive(SWIG_TYPECHECK_CPLXFLT, float complex); |
+%typemaps_primitive(SWIG_TYPECHECK_CPLXDBL, double complex); |
+%typemaps_primitive(SWIG_TYPECHECK_CPLXDBL, complex); |