diff options
Diffstat (limited to 'Lib/javascript/napi/ccomplex.i')
-rw-r--r-- | Lib/javascript/napi/ccomplex.i | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Lib/javascript/napi/ccomplex.i b/Lib/javascript/napi/ccomplex.i new file mode 100644 index 000000000..e58dbf719 --- /dev/null +++ b/Lib/javascript/napi/ccomplex.i @@ -0,0 +1,27 @@ +/* ----------------------------------------------------------------------------- + * ccomplex.i + * + * C complex typemaps + * ISO C99: 7.3 Complex arithmetic <complex.h> + * ----------------------------------------------------------------------------- */ + + +%include <javascriptcomplex.swg> + +%{ +#include <complex.h> +%} + +#define complex _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); +%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); |