TDSORT(3) A generic sorting routine, normally used indirectly (by calling the

SYNOPSIS

CALL TDSORT (RWRK, NRWK, IORD, IWRK)

C-BINDING SYNOPSIS

#include <ncarg/ncargC.h>

void c_tdsort(float *rwrk, int nwrk, int iord, int *iwrk)

DESCRIPTION

This is an internal routine used for sorting. Originally, it was not intended that a user should call this routine directly, but doing so will do no harm. Given an array of NRWK reals in an array RWRK and an "ordering flag" IORD, TDSORT returns a permutation vector IWRK such that, for every I and J such that 1.LE.I.LE.J.LE.NWRK, if IORD is zero, then RWRK(IWRK(I)).LE.RWRK(IWRK(J)), else RWRK(IWRK(I)).GE.RWRK(IWRK(J)).

The arguments of TDSORT are as follows:

RWRK
(an input array, of type REAL, dimensioned NWRK) - an array of NWRK real numbers that are to be sorted. The contents of RWRK are returned unchanged; the ordering is as specified by the contents of the array IWRK.
NWRK
(an input expression of type INTEGER) - the dimension of RWRK (and of IWRK).
IORD
(an input expression of type INTEGER) - if IORD is zero, the desired ordering is from smallest numeric value to largest; otherwise, the desired ordering is from largest value to smallest.
IWRK
(an output array of type INTEGER, dimensioned at least NWRK) - returned containing a permutation of the integers from 1 to NWRK.

C-BINDING DESCRIPTION

The C-binding argument descriptions are the same as the FORTRAN argument descriptions.

ACCESS

To use TDSORT or c_tdsort, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order.

COPYRIGHT

Copyright (C) 1987-2009
University Corporation for Atmospheric Research

The use of this Software is governed by a License Agreement.