You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ENH: Descending sorts with built-in dtype implementations (#31345)
This PR rewires all non-generic sorts to go through the newer API layer (but still fills the old slots).
This then enables implementing `descending=True` for all of these, although the generic sorts will currently fail as they use the legacy fallback path that doesn't support descending.
Another big change is that the setup is moved to C++ removing the need to explicitly instantiate all templates in C++ and as part of this the sort files are now split into `.cpp` and `.hpp` as we are not instantiating the function inside the new `npysort_methods.cpp` which gets them from the `.hpp` (this split is the biggest cause of the diff).
Otherwise a `reverse` template parameter is threaded through everything to implement both sorts and we use `cmp<Tag, reverse>` or similar to switch
This PR does not yet set up descending=True SIMD sorts for x86-simd-sorts because it currently uses a different NaN order convention (although this is easily fixable).
Co-authored-by: Sebastian Berg <[email protected]>
0 commit comments