diff options
Diffstat (limited to 'tests/samplebinding/complex_conversions.h')
-rw-r--r-- | tests/samplebinding/complex_conversions.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/samplebinding/complex_conversions.h b/tests/samplebinding/complex_conversions.h new file mode 100644 index 000000000..8caaef03b --- /dev/null +++ b/tests/samplebinding/complex_conversions.h @@ -0,0 +1,23 @@ +template<> +struct Converter<Complex> +{ + static PyObject* toPython(ValueHolder<Complex> cpx) + { + /* + fprintf(stderr, "[%s:%d] cpx.real: %f, cpx.imag: %f\n", + __PRETTY_FUNCTION__, __LINE__, cpx.value.real(), cpx.value.imag()); + PyObject* result = PyComplex_FromDoubles(cpx.value.real(), cpx.value.imag()); + fprintf(stderr, "[%s:%d]", __PRETTY_FUNCTION__, __LINE__); + PyObject_Print(result, stderr, 0); + fprintf(stderr, "\n"); + return result; + */ + return PyComplex_FromDoubles(cpx.value.real(), cpx.value.imag()); + } + static Complex toCpp(PyObject* pyobj) + { + double real = PyComplex_RealAsDouble(pyobj); + double imag = PyComplex_ImagAsDouble(pyobj); + return Complex(real, imag); + } +}; |