Expand description
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 Ord
.
Modules§
- An implementation of american flag sort
- Utilities for radix-sorting floating point types
RadixSortKey
implementations for standard-library types. Only included if thestd
feature is enabled.- Various utilities for building radix sorts
Structs§
- 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
- Implements
KeyBytes<K>
given a key length and a getter for key bytes - 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:
true
is returned if and only if the input array is sorted The input array can be permuted arbitrarily, but no elements may be changed Ifforce
is true, then the input array must always be sorted
Constants§
- Default maximum size to delegate array to standard sorting algorithm
- Default maximum depth threshold to force sorting algorithm switch (to avoid heap allocation)
Traits§
- 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.
Functions§
- Create a key-based unordered sorter on a type