mirror of
https://github.com/pybind/pybind11.git
synced 2026-04-19 22:39:09 +00:00
vectorize: trivial handling for F-order arrays
This extends the trivial handling to support trivial handling for Fortran-order arrays (i.e. column major): if inputs aren't all C-contiguous, but *are* all F-contiguous, the resulting array will be F-contiguous and we can do trivial processing. For anything else (e.g. C-contiguous, or inputs requiring non-trivial processing), the result is in (numpy-default) C-contiguous layout.
This commit is contained in:
@@ -41,6 +41,10 @@ test_initializer numpy_vectorize([](py::module &m) {
|
||||
|
||||
|
||||
// Internal optimization test for whether the input is trivially broadcastable:
|
||||
py::enum_<py::detail::broadcast_trivial>(m, "trivial")
|
||||
.value("f_trivial", py::detail::broadcast_trivial::f_trivial)
|
||||
.value("c_trivial", py::detail::broadcast_trivial::c_trivial)
|
||||
.value("non_trivial", py::detail::broadcast_trivial::non_trivial);
|
||||
m.def("vectorized_is_trivial", [](
|
||||
py::array_t<int, py::array::forcecast> arg1,
|
||||
py::array_t<float, py::array::forcecast> arg2,
|
||||
|
||||
Reference in New Issue
Block a user