mirror of
https://github.com/pybind/pybind11.git
synced 2026-06-06 06:11:25 +00:00
complex number support
This commit is contained in:
@@ -15,14 +15,19 @@ double my_func(int x, float y, double z) {
|
||||
return x*y*z;
|
||||
}
|
||||
|
||||
std::complex<double> my_func3(std::complex<double> c) {
|
||||
return c * std::complex<double>(2.f);
|
||||
}
|
||||
|
||||
void init_ex10(py::module &m) {
|
||||
// Vectorize all arguments (though non-vector arguments are also allowed)
|
||||
m.def("vectorized_func", py::vectorize(my_func));
|
||||
|
||||
// Vectorize a lambda function with a capture object (e.g. to exclude some arguments from the vectorization)
|
||||
m.def("vectorized_func2",
|
||||
[](py::array_dtype<int> x, py::array_dtype<float> y, float z) {
|
||||
return py::vectorize([z](int x, float y) { return my_func(x, y, z); })(x, y);
|
||||
}
|
||||
);
|
||||
// Vectorize all arguments (complex numbers)
|
||||
m.def("vectorized_func3", py::vectorize(my_func3));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user