swig/Lib/python/ccomplex.i
Marcelo Matus 8cc9533152 fix inclusion of complex.h
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5770 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-18 21:18:16 +00:00

39 lines
819 B
OpenEdge ABL

#ifndef __python_ccomplex_i__
#define __python_ccomplex_i__
%include "complex_common.i"
/*
* C complex wrap
* ISO C99: 7.3 Complex arithmetic <complex.h>
*/
%{
#include <complex.h>
%}
/*
*** swig workaround ***
the %{}% around these typedefs must be removed once
swig parser supports 'float complex'...
*/
%{
typedef float complex float_complex;
typedef double complex double_complex;
%}
/* 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);
/* declaring the typemaps */
%typemap_primitive(SWIG_TYPECHECK_CPLXFLT, float_complex);
%typemap_primitive(SWIG_TYPECHECK_CPLXDBL, double_complex);
%apply double_complex { complex };
#endif //__python_ccomplex_i__