|
47 | 47 | * `ORD_SORTING` is intended to provide indices for sorting arrays of
|
48 | 48 | derived type data, based on the ordering of an intrinsic component
|
49 | 49 | of the derived type.
|
50 |
| -* `UNORD_SORT` is intended to sort simple arrays of intrinsic data |
51 |
| - that are effectively unordered before the sort; |
| 50 | +* `UNORD_SORT` is intended to sort simple arrays of intrinsic data |
| 51 | + that are effectively unordered before the sort; |
52 | 52 |
|
53 | 53 | #### The `ORD_SORT` subroutine
|
54 | 54 |
|
@@ -143,21 +143,21 @@ housekeeping it has slower runtime performance than `ORD_SORT`.
|
143 | 143 | provided as optional `work` and `iwork` arguments or allocated
|
144 | 144 | internally on the stack.
|
145 | 145 |
|
146 |
| -#### The `UNORD_SORT` subroutines |
| 146 | +#### The `UNORD_SORT` subroutines |
147 | 147 |
|
148 | 148 | `UNORD_SORT` uses the [`introsort` sorting algorithm of David Musser]
|
149 |
| -(http://www.cs.rpi.edu/~musser/gp/introsort.ps). `introsort` is a hybrid |
| 149 | +(http://www.cs.rpi.edu/~musser/gp/introsort.ps). `introsort` is a hybrid |
150 | 150 | unstable comparison algorithm combining `quicksort`, `insertion sort`,
|
151 | 151 | and `heap sort`. While this algorithm's runtime performance is always
|
152 | 152 | O(N Ln(N)), it is relatively fast on randomly ordered data, but
|
153 | 153 | inconsistent in performance on partly sorted data. David Musser has
|
154 | 154 | given permission to include a variant of `introsort` in the Fortran
|
155 |
| -Standard Library under the MIT license provided we cite: |
| 155 | +Standard Library under the MIT license provided we cite: |
156 | 156 |
|
157 | 157 | Musser, D.R., “Introspective Sorting and Selection Algorithms,”
|
158 |
| - Software—Practice and Experience, Vol. 27(8), 983–993 (August 1997). |
| 158 | + Software—Practice and Experience, Vol. 27(8), 983–993 (August 1997). |
159 | 159 |
|
160 |
| -as the official source of the algorithm. |
| 160 | +as the official source of the algorithm. |
161 | 161 |
|
162 | 162 | As with `introsort`, `UNORD_SORT` is an unstable hybrid algorithm.
|
163 | 163 | First it examines the array and estimates the depth of recursion a
|
@@ -440,14 +440,14 @@ We have performed benchmarks of the procedures on nine different
|
440 | 440 | arrays each of size `2**20`:
|
441 | 441 |
|
442 | 442 | * Blocks - the array is divided into siz blocks, each of distinct
|
443 |
| - uniformly increasing integers. |
444 |
| -* Decreasing - values decrease uniformly from `2**20-1` to `0`. |
| 443 | + uniformly increasing integers. |
| 444 | +* Decreasing - values decrease uniformly from `2**20-1` to `0`. |
445 | 445 | * Identical - all integers have the same value of 10.
|
446 | 446 | * Increasing - values increase uniformly from `0` to `2**20-1`.
|
447 |
| -* Random dense - the integers are generated randomly from a set of |
448 |
| - values from `0` to `2**18-1` so duplicates are dense. |
449 |
| -* Random order - a set of integers from `0` to `2**20 - 1` in random |
450 |
| - order. |
| 447 | +* Random dense - the integers are generated randomly from a set of |
| 448 | + values from `0` to `2**18-1` so duplicates are dense. |
| 449 | +* Random order - a set of integers from `0` to `2**20 - 1` in random |
| 450 | + order. |
451 | 451 | * Random sparse - the integers are generated randomly from a set of
|
452 | 452 | values from `0` to `2**22-1` so duplicates are sparse.
|
453 | 453 | * Random-3 - the increasing array has 3 random exchanges of individual
|
|
0 commit comments