%module complextest %include #ifdef __cplusplus %{ #include #include #include %} %include #if 1 %template(VectorStdCplx) std::vector >; #endif %inline { std::complex Conj(const std::complex& a) { return std::conj(a); } std::complex Conjf(const std::complex& a) { return std::conj(a); } #if 1 std::vector > Copy_h(const std::vector >& a) { std::vector > b(a.size()/2); std::copy(a.begin(), a.begin()+a.size()/2, b.begin()); return b; } #endif } #else %{ %} %inline { complex Conj(complex a) { return conj(a); } complex float Conjf(float complex a) { return conj(a); } } #endif