Octopus
sort.F90 File Reference

Go to the source code of this file.

Modules

module  sort_oct_m
 This module is intended to contain "only mathematical" functions and procedures.
 

Data Types

interface  sort_oct_m::sort
 This is the common interface to a sorting routine. It performs the shell algorithm, not as fast as the quicksort for large numbers, but it seems that better for moderate numbers (around 100). Their possible interfaces are: subroutine sort(a [, ind]) real(real64),_OR_INTEGER, intent(inout) :: a(:) integer, intent(inout), optional :: ind(:) ! This routine sorts, from smallest to largest, the array a. ! If the integer array ind is present, it puts in it the indexing ! of the sorting, so that other arrays can be sorted according to ! the sorting of a. end subroutine sort. More...
 
interface  sort_oct_m::dsort1
 from sort_low.cc More...
 
interface  sort_oct_m::dsort2
 
interface  sort_oct_m::isort1
 
interface  sort_oct_m::isort2
 
interface  sort_oct_m::lsort1
 
interface  sort_oct_m::lsort2
 

Functions/Subroutines

subroutine sort_oct_m::dsort (a, ind)
 
subroutine sort_oct_m::isort (a, ind)
 Shell sort for integer arrays. More...
 
subroutine sort_oct_m::lsort (a, ind)
 Shell sort for integer(int64) arrays. More...
 
pure logical function sort_oct_m::less_idx (i, j, off, kabs, ksgn)
 Sorting criterium for the robust sorting below. More...
 
recursive subroutine sort_oct_m::mergesort_perm (perm, tmp, l, r, off, kabs, ksgn)
 Perform the permutations for the sorting. More...
 
subroutine, public sort_oct_m::robust_sort_by_abs (v, off, perm, negative_first)
 Robbust sorting of floating point numbers by absolute values. More...
 
subroutine sort_oct_m::zshellsort1 (a, x)
 
subroutine sort_oct_m::zshellsort2 (a, x)
 
subroutine sort_oct_m::dshellsort1 (a, x)
 
subroutine sort_oct_m::dshellsort2 (a, x)
 
subroutine sort_oct_m::ishellsort1 (a, x)
 
subroutine sort_oct_m::ishellsort2 (a, x)