This is an old version, view current version.

4.5 Sorting functions

Sorting can be used to sort values or the indices of those values in either ascending or descending order. For example, if v is declared as a real array of size 3, with values \[ \text{v} = (1, -10.3, 20.987), \] then the various sort routines produce \[\begin{eqnarray*} \mathrm{sort\_asc(v)} & = & (-10.3,1,20.987) \\[4pt] \mathrm{sort\_desc(v)} & = & (20.987,1,-10.3) \\[4pt] \mathrm{sort\_indices\_asc(v)} & = & (2,1,3) \\[4pt] \text{sort\_indices\_desc(v)} & = & (3,1,2) \end{eqnarray*}\]

real[] sort_asc(real[] v)
Sort the elements of v in ascending order

int[] sort_asc(int[] v)
Sort the elements of v in ascending order

real[] sort_desc(real[] v)
Sort the elements of v in descending order

int[] sort_desc(int[] v)
Sort the elements of v in descending order

int[] sort_indices_asc(real[] v)
Return an array of indices between 1 and the size of v, sorted to index v in ascending order.

int[] sort_indices_asc(int[] v)
Return an array of indices between 1 and the size of v, sorted to index v in ascending order.

int[] sort_indices_desc(real[] v)
Return an array of indices between 1 and the size of v, sorted to index v in descending order.

int[] sort_indices_desc(int[] v)
Return an array of indices between 1 and the size of v, sorted to index v in descending order.

int rank(real[] v, int s)
Number of components of v less than v[s]

int rank(int[] v, int s)
Number of components of v less than v[s]