m_partition3way Module

module~~m_partition3way~~UsesGraph module~m_partition3way m_partition3way module~m_swap m_swap module~m_swap->module~m_partition3way module~m_compare m_compare module~m_compare->module~m_partition3way module~variablekind variableKind module~variablekind->module~m_partition3way module~variablekind->module~m_swap module~variablekind->module~m_compare iso_fortran_env iso_fortran_env iso_fortran_env->module~variablekind
Help

Contains Hoare's style partitioning algorithms used for quicksorting routines n=(right+left)/2 call swap(idx(left),idx(n))



Interfaces

public interface partition3way

Partitioning used for quicksort routines

  • public subroutine partition3way_d1D(this, left, right, iPivot1, iPivot2)

    Interfaced with partition()

    Arguments

    Type IntentOptional AttributesName
    real(kind=r64), intent(inout) :: this(:)

    1D array

    integer(kind=i32), intent(inout) :: left

    Left index

    integer(kind=i32), intent(inout) :: right

    Right index

    integer(kind=i32), intent(inout) :: iPivot1

    Pivoting index

    integer(kind=i32), intent(inout) :: iPivot2

    Pivoting index


Subroutines

public subroutine partition3way_d1D(this, left, right, iPivot1, iPivot2)

Interfaced with partition()

Arguments

Type IntentOptional AttributesName
real(kind=r64), intent(inout) :: this(:)

1D array

integer(kind=i32), intent(inout) :: left

Left index

integer(kind=i32), intent(inout) :: right

Right index

integer(kind=i32), intent(inout) :: iPivot1

Pivoting index

integer(kind=i32), intent(inout) :: iPivot2

Pivoting index