rdx is a collection of generic algorithms and traits designed to make using radix sort easier
both for primitive and custom data types.
Radix sort has excellent performance characteristics, but has more requirements on the keys to be sorted, and hence is somewhat rarely used. The goal of this package is to provide easy-to-use radix sort implementations for a variety of types and to make it easy to implement radix sort for your own custom types.
Eventually, we plan to add a hybrid radix-comparison sort so as to allow obtaining the benefits
of radix sorts for compound types in general, even if all the components only satisfy
An implementation of american flag sort
Utilities for radix-sorting floating point types
Various utilities for building radix sorts
A comparator-based unordered sort on a type
The default radix sort strategy for a type
Get the key byte function associated with a given key extraction function
A key-based unordered sort on a type
A radix sort strategy with a given byte extraction function and fallback sort
Treat a function as a try sort function. Assumes that:
Default maximum size to delegate array to standard sorting algorithm
Default maximum depth threshold to force sorting algorithm switch (to avoid heap allocation)
A radix sort key known to have a constant key length
A trait to get the bytes of a radix sort key
A radix sort key length function
A key which can be used for radix sorts
A strategy for radix sorting a type based off a given ordering
A sorting function for small arrays of a given type.
Create a key-based unordered sorter on a type