Menu

Tree [c7c241] default tip /
 History

Read Only access


File Date Author Commit
 build-aux 2022-07-01 Barry Schwartz Barry Schwartz [a0e47f] Improved testing. And I’d forgotten to commit t...
 m4 2022-06-29 Barry Schwartz Barry Schwartz [7bb08e] I forgot to commit everything else.
 tests 2022-07-05 Barry Schwartz Barry Schwartz [2474fe] Use the ones’-complement rather than the twos’-...
 .dir-locals.el 2022-06-29 Barry Schwartz Barry Schwartz [7bb08e] I forgot to commit everything else.
 .hgignore 2022-06-29 Barry Schwartz Barry Schwartz [7bb08e] I forgot to commit everything else.
 AUTHORS 2022-06-29 Barry Schwartz Barry Schwartz [7bb08e] I forgot to commit everything else.
 COPYING 2022-06-29 Barry Schwartz Barry Schwartz [7bb08e] I forgot to commit everything else.
 INSTALL 2022-06-29 Barry Schwartz Barry Schwartz [7bb08e] I forgot to commit everything else.
 Makefile.am 2022-07-04 Barry Schwartz Barry Schwartz [bfacb0] Reverse order test for signed types. A little m...
 Makefile.in 2022-07-04 Barry Schwartz Barry Schwartz [bfacb0] Reverse order test for signed types. A little m...
 README 2022-07-05 Barry Schwartz Barry Schwartz [c7c241] Update README.
 aclocal.m4 2022-06-29 Barry Schwartz Barry Schwartz [7bb08e] I forgot to commit everything else.
 aminclude_static.am 2022-07-03 Barry Schwartz Barry Schwartz [5afd02] Build pre-compiled implementations. I have not ...
 autogen.sh 2022-06-29 Barry Schwartz Barry Schwartz [7bb08e] I forgot to commit everything else.
 common-macros.m4.in 2022-07-04 Barry Schwartz Barry Schwartz [f08ad9] Add support for 128-bit integers.
 configure 2022-07-03 Barry Schwartz Barry Schwartz [5afd02] Build pre-compiled implementations. I have not ...
 configure.ac 2022-07-03 Barry Schwartz Barry Schwartz [5afd02] Build pre-compiled implementations. I have not ...
 integer-radix-sort.h.m4 2022-07-04 Barry Schwartz Barry Schwartz [11f806] Test reverse sorting for unsigned.
 integer-radix-sort.pc.in 2022-07-03 Barry Schwartz Barry Schwartz [5afd02] Build pre-compiled implementations. I have not ...
 inttype_keyed_radix_sort.c.m4 2022-07-04 Barry Schwartz Barry Schwartz [11f806] Test reverse sorting for unsigned.
 silent-rules.mk 2022-06-29 Barry Schwartz Barry Schwartz [7bb08e] I forgot to commit everything else.
 uinttype_keyed_radix_sort.c.m4 2022-07-04 Barry Schwartz Barry Schwartz [11f806] Test reverse sorting for unsigned.

Read Me

Integer-keyed stable radix sort for C
-------------------------------------

This sort tends to much faster than qsort(3), and is stable. However,
the keys must belong to one of the C compiler’s integer types.

The ‘radix’ for the sort is 256. In other words, the sorting is done
one byte position at a time.

This package is a translation into C macros of a similar sort I wrote
as ATS2 template functions.

There are also pre-compiled sort functions for many different integer
types. These sort functions resemble qsort(3) but take a ‘get_key’
function instead of a ‘comparison’ function. Also, the ‘get_key’
parameter can be set to NULL, in which case the array entry is used as
its own key.

You have to have an m4 implementation to build the package. You can
use an ‘Heirloom Development Tools’ m4 but in that case will have to
increase the pushback buffer size; I had success with ‘m4
-B100000’. If you use GNU m4 or OpenBSD m4 you should encounter no
difficulty.

(The biggest drawback of this ancient Heirloom m4 implementation is
not the need to set buffer sizes, but that it is ASCII-only. I should
quit supporting it in my packages, so I could more freely use UTF-8,
but am pathologically a worry-wart.)
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.