musl/COPYRIGHT
Rich Felker 22263709ed replace heap sort with smoothsort implementation by Valentin Ochs
Smoothsort is an adaptive variant of heapsort. This version was
written by Valentin Ochs (apo) specifically for inclusion in musl. I
worked with him to get it working in O(1) memory usage even with giant
array element widths, and to optimize it heavily for size and speed.
It's still roughly 4 times as large as the old heap sort
implementation, but roughly 20 times faster given an almost-sorted
array of 1M elements (20 being the base-2 log of 1M), i.e. it really
does reduce O(n log n) to O(n) in the mostly-sorted case. It's still
somewhat slower than glibc's Introsort for random input, but now
considerably faster than glibc when the input is already sorted, or
mostly sorted.
2011-04-27 13:27:04 -04:00

45 lines
2.0 KiB
Plaintext

musl as a whole is licensed under the GNU LGPL version 2.1 or later.
See the file COPYING for the text of this license.
See below for the copyright status on all code included in musl:
The TRE regular expression implementation (src/regex/reg* and
src/regex/tre*) is Copyright © 2001-2006 Ville Laurikari and licensed
under the terms of the GNU LGPL version 2.1 or later. The included
version was heavily modified in Spring 2006 by Rich Felker in the
interests of size, simplicity, and namespace cleanliness.
Most of the math library code (src/math/*) is Copyright © 1993 Sun
Microsystems, Inc. Some files are Copyright © 2003 Steven G. Kargl and
labelled as such. All have been licensed under extremely permissive
terms which are compatible with the GNU LGPL. See the comments in the
individual files for details.
The implementation of DES for crypt (src/misc/crypt.c) is Copyright ©
1994 David Burren. It is licensed under a BSD license compatible with
the GNU LGPL.
The smoothsort implementation (src/stdlib/qsort.c) is Copyright © 2011
Valentin Ochs and is licensed under an MIT-style license compatible
with the GNU LGPL.
The x86_64 port was written by Nicholas J. Kain. See individual files
for their copyright status.
All files which have no copyright comments are original works
Copyright © 2005-2011 Rich Felker, the main author of this library.
The decision to exclude such comments is intentional, as it should be
possible to carry around the complete source code on tiny storage
media. All public header files (include/*) should be treated as Public
Domain as they intentionally contain no content which can be covered
by copyright. Some source modules may fall in this category as well.
If you believe that a file is so trivial that it should be in the
Public Domain, please contact me and, if I agree, I will explicitly
release it from copyright.
The following files are trivial, in my opinion not copyrightable in
the first place, and hereby explicitly released to the Public Domain:
All public headers: include/*
Startup files: crt/*