64 subroutine dsort1(size, array)
65 use,
intrinsic :: iso_fortran_env
67 integer,
intent(in) :: size
68 real(real64),
intent(inout) :: array(*)
71 subroutine dsort2(size, array, indices)
72 use,
intrinsic :: iso_fortran_env
74 integer,
intent(in) :: size
75 real(real64),
intent(inout) :: array(*)
76 integer,
intent(out) :: indices(*)
79 subroutine isort1(size, array)
81 integer,
intent(in) :: size
82 integer,
intent(inout) :: array(*)
85 subroutine isort2(size, array, indices)
87 integer,
intent(in) :: size
88 integer,
intent(inout) :: array(*)
89 integer,
intent(out) :: indices(*)
92 subroutine lsort1(size, array)
93 use,
intrinsic :: iso_fortran_env
95 integer,
intent(in) :: size
96 integer(int64),
intent(inout) :: array(*)
99 subroutine lsort2(size, array, indices)
100 use,
intrinsic :: iso_fortran_env
102 integer,
intent(in) :: size
103 integer(int64),
intent(inout) :: array(*)
104 integer,
intent(out) :: indices(*)
111 subroutine dsort(a, ind)
112 real(real64),
intent(inout) :: a(:)
113 integer,
optional,
intent(out) :: ind(:)
117 if (
size(a) > 0)
then
119 if (.not.
present(ind))
then
122 call dsort2(
size(a), a, ind)
133 subroutine isort(a, ind)
134 integer,
intent(inout) :: a(:)
135 integer,
optional,
intent(out) :: ind(:)
139 if (
size(a) > 0)
then
141 if (.not.
present(ind))
then
144 call isort2(
size(a), a, ind)
154 subroutine lsort(a, ind)
155 integer(int64),
intent(inout) :: a(:)
156 integer,
optional,
intent(out) :: ind(:)
160 if (
size(a) > 0)
then
162 if (.not.
present(ind))
then
165 call lsort2(
size(a), a, ind)
175#include "complex.F90"
176#include "sort_inc.F90"
180#include "sort_inc.F90"
183#include "integer.F90"
184#include "sort_inc.F90"
This is the common interface to a sorting routine. It performs the shell algorithm,...
This module is intended to contain "only mathematical" functions and procedures.
subroutine ishellsort2(a, x)
subroutine dshellsort1(a, x)
subroutine zshellsort2(a, x)
subroutine isort(a, ind)
Shell sort for integer arrays.
subroutine ishellsort1(a, x)
subroutine dshellsort2(a, x)
subroutine lsort(a, ind)
Shell sort for integer(int64) arrays.
subroutine zshellsort1(a, x)