heapsort Interface

public interface heapsort

It sorts integer vector by heap sort.


Module Procedures

public pure subroutine heapsortInt32(n, array, val)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: n
integer(kind=int32), intent(inout) :: array(1:n)
real(kind=real64), intent(inout), optional :: val(1:n)

public pure subroutine heapsortInt32Int32(n, array, val)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: n
integer(kind=int32), intent(inout) :: array(1:n)
integer(kind=int32), intent(inout) :: val(1:n)

public pure subroutine heapsortReal64Int32(n, array, val)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: n
real(kind=real64), intent(inout) :: array(1:n)
integer(kind=int32), intent(inout) :: val(1:n)

public subroutine heapsortReal64(n, array, val)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: n
real(kind=real64), intent(inout) :: array(1:n)
real(kind=real64), intent(inout), optional :: val(1:n)

public subroutine heapsortReal32(n, array, val)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: n
real(kind=real32), intent(inout) :: array(1:n)
real(kind=real32), intent(inout), optional :: val(1:n)

public recursive subroutine heapsort_int32_array(array, order, exec_row_sort)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(inout) :: array(:,:)
integer(kind=int32), intent(inout), optional, allocatable :: order(:)
logical, intent(in), optional :: exec_row_sort

public recursive subroutine heapsort_real64_array(array, order, exec_row_sort)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(inout) :: array(:,:)
integer(kind=int32), intent(inout), optional, allocatable :: order(:)
logical, intent(in), optional :: exec_row_sort