summaryrefslogtreecommitdiff
path: root/src/regress/lib/libc/qsort (follow)
Commit message (Collapse)AuthorAgeFilesLines
* I am retiring my old email address; replace it with my OpenBSD one.millert2019-01-251-1/+1
|
* Also test arrays of double and long long.millert2017-05-271-142/+421
|
* Add timing and test name options.millert2017-05-221-12/+83
|
* Instead of embedding pre-generated tables from McIlroy's "A Killermillert2017-05-223-1538/+315
| | | | | Adversary for Quicksort", just include the code to generate them. Also allow the number of elements to be specified on the command line.
* correct a return value testjsg2017-05-211-1/+1
| | | | ok millert@
* Add input targeted at the Bentley and McIrlroy quicksort generatedmillert2017-05-191-6/+1389
| | | | | by McIlroy's "A Killer Adversary for Quicksort". This results in quadratic behavior and the test aborts before completion.
* use mergesort instead of heapsort when comparing resultsmillert2017-05-181-9/+17
|
* Avoid running the "killer" tests multiple times with the samemillert2017-05-171-10/+19
| | | | parameters.
* Add "median of three" killer, as seen in "Introspective Sorting andmillert2017-05-171-18/+44
| | | | Selection Algorithms" by David R Musser.
* Approximate nlgn instead of using libm. The same approximation maymillert2017-05-172-10/+8
| | | | be used in qsort.c in a later commit.
* Add "killer" input from "algorithmic complexity attacks and libcmillert2017-05-171-0/+12
| | | | | | | qsort()". This causes quadratic behavior with the 4.4BSD qsort's "switch to insertion sort" optimization when the input appears to be mostly sorted. That optimization was removed in qsort.c r1.12 but it is worth having in the regress test too.
* There's no need to track the number of errors (and the counter mightmillert2017-05-171-21/+30
| | | | wrap), make it a flag instead. Pointed out by schwarze@
* Add qsort(3) regress based on Bentley & McIlroy's "Engineering a Sort Function"millert2017-05-172-0/+276