summaryrefslogtreecommitdiff
path: root/devtools/swigwin-1.3.34/Lib/python/ccomplex.i
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/swigwin-1.3.34/Lib/python/ccomplex.i')
-rw-r--r--devtools/swigwin-1.3.34/Lib/python/ccomplex.i29
1 files changed, 29 insertions, 0 deletions
diff --git a/devtools/swigwin-1.3.34/Lib/python/ccomplex.i b/devtools/swigwin-1.3.34/Lib/python/ccomplex.i
new file mode 100644
index 0000000..30f797d
--- /dev/null
+++ b/devtools/swigwin-1.3.34/Lib/python/ccomplex.i
@@ -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);