summaryrefslogtreecommitdiffstats
path: root/contrib/tools/swig/Lib/python/std_complex.i
diff options
context:
space:
mode:
authorrobot-piglet <[email protected]>2025-08-28 14:27:58 +0300
committerrobot-piglet <[email protected]>2025-08-28 14:57:06 +0300
commit81d828c32c8d5477cb2f0ce5da06a1a8d9392ca3 (patch)
tree3081d566f0d5158d76e9093261344f6406fd09f7 /contrib/tools/swig/Lib/python/std_complex.i
parent77ea11423f959e51795cc3ef36a48d808b4ffb98 (diff)
Intermediate changes
commit_hash:d5b1af16dbe9030537a04c27eb410c88c2f496cd
Diffstat (limited to 'contrib/tools/swig/Lib/python/std_complex.i')
-rw-r--r--contrib/tools/swig/Lib/python/std_complex.i27
1 files changed, 27 insertions, 0 deletions
diff --git a/contrib/tools/swig/Lib/python/std_complex.i b/contrib/tools/swig/Lib/python/std_complex.i
new file mode 100644
index 00000000000..c9c46c4c3bb
--- /dev/null
+++ b/contrib/tools/swig/Lib/python/std_complex.i
@@ -0,0 +1,27 @@
+/*
+ * STD C++ complex typemaps
+ */
+
+%include <pycomplex.swg>
+
+%{
+#include <complex>
+%}
+
+namespace std {
+ %naturalvar complex;
+ template<typename T> class complex;
+ %template() complex<double>;
+ %template() complex<float>;
+}
+
+/* defining the complex as/from converters */
+
+%swig_cplxdbl_convn(std::complex<double>, std::complex<double>, std::real, std::imag)
+%swig_cplxflt_convn(std::complex<float>, std::complex<float>, std::real, std::imag)
+
+/* defining the typemaps */
+
+%typemaps_primitive(%checkcode(CPLXDBL), std::complex<double>);
+%typemaps_primitive(%checkcode(CPLXFLT), std::complex<float>);
+