ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation. |
This module contains procedures and generic interfaces for various sorting tasks.
More...
Data Types | |
type | bubble_type |
interface | getSorted |
Generate and return the sorted elements of the input scalar string or contiguous vector in ascending order, or the sorted indices of the input scalar string or contiguous array of rank 1 in ascending order or in the user-specified order. More... | |
type | heap_type |
type | heapi_type |
type | heapr_type |
type | insertion_type |
type | insertionb_type |
type | insertionl_type |
interface | isAscending |
Generate and return .true. if the input array is sorted in ascending order (with the possibility of elements being equal), otherwise, generate and return .false. . More... | |
interface | isAscendingAll |
Generate and return .true. if the input array is sorted in strictly all ascending order (without equal elements), otherwise, generate and return .false. . More... | |
interface | isDescending |
Generate and return .true. if the input array is sorted in descending order (with the possibility of elements being equal), otherwise, generate and return .false. . More... | |
interface | isDescendingAll |
Generate and return .true. if the input array is sorted in strictly all descending order (without equal elements), otherwise, generate and return .false. . More... | |
type | isort_type |
interface | isSorted |
Return .true. if the input array is sorted, either ascending or descending, or all equal. More... | |
type | merger_type |
type | qsort_type |
type | qsorti_type |
type | qsortr_type |
type | qsortrdp_type |
type | selection_type |
interface | setSorted |
Sort the input scalar string or contiguous vector in ascending order, or return the sorted indices of the input scalar string or contiguous array of rank 1 in ascending order or in the user-specified order. More... | |
type | shell_type |
type | sort_type |
Variables | |
character(*, SK), parameter | MODULE_NAME = "@pm_arraySort" |
type(isort_type), parameter | isort = isort_type() |
type(qsorti_type), parameter | qsorti = qsorti_type() |
type(qsortr_type), parameter | qsortr = qsortr_type() |
type(qsortrdp_type), parameter | qsortrdp = qsortrdp_type() |
type(bubble_type), parameter | bubble = bubble_type() |
type(heapi_type), parameter | heapi = heapi_type() |
type(heapr_type), parameter | heapr = heapr_type() |
type(insertionl_type), parameter | insertionl = insertionl_type() |
type(insertionb_type), parameter | insertionb = insertionb_type() |
type(merger_type), parameter | merger = merger_type() |
type(selection_type), parameter | selection = selection_type() |
type(shell_type), parameter | shell = shell_type() |
This module contains procedures and generic interfaces for various sorting tasks.
Specifically, the generic interfaces of this module fall into three categories:
There are currently twelve different sorting algorithms implemented in this module in addition to index sorting and sort checking algorithms.
Benchmark :: sorting ⛓
ifort
compiler ⛓ ifort
compiler ⛓ gfortran
compiler ⛓
Benchmark :: sorting vs. indexing ⛓
ifort
compiler ⛓ ifort
compiler ⛓ gfortran
compiler ⛓
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
type(bubble_type), parameter pm_arraySort::bubble = bubble_type() |
Definition at line 134 of file pm_arraySort.F90.
type(heapi_type), parameter pm_arraySort::heapi = heapi_type() |
Definition at line 138 of file pm_arraySort.F90.
type(heapr_type), parameter pm_arraySort::heapr = heapr_type() |
Definition at line 142 of file pm_arraySort.F90.
type(insertionb_type), parameter pm_arraySort::insertionb = insertionb_type() |
Definition at line 150 of file pm_arraySort.F90.
type(insertionl_type), parameter pm_arraySort::insertionl = insertionl_type() |
Definition at line 146 of file pm_arraySort.F90.
type(isort_type), parameter pm_arraySort::isort = isort_type() |
Definition at line 117 of file pm_arraySort.F90.
type(merger_type), parameter pm_arraySort::merger = merger_type() |
Definition at line 154 of file pm_arraySort.F90.
character(*,SK), parameter pm_arraySort::MODULE_NAME = "@pm_arraySort" |
Definition at line 95 of file pm_arraySort.F90.
type(qsorti_type), parameter pm_arraySort::qsorti = qsorti_type() |
Definition at line 122 of file pm_arraySort.F90.
type(qsortr_type), parameter pm_arraySort::qsortr = qsortr_type() |
Definition at line 126 of file pm_arraySort.F90.
type(qsortrdp_type), parameter pm_arraySort::qsortrdp = qsortrdp_type() |
Definition at line 130 of file pm_arraySort.F90.
type(selection_type), parameter pm_arraySort::selection = selection_type() |
Definition at line 158 of file pm_arraySort.F90.
type(shell_type), parameter pm_arraySort::shell = shell_type() |
Definition at line 162 of file pm_arraySort.F90.