hpperm.f
SUBROUTINE HPPERM (HX, N, IPERM, WORK, IER)
C***BEGIN PROLOGUE HPPERM
C***PURPOSE Rearrange a given array according to a prescribed
C permutation vector.
C***LIBRARY SLATEC
C***CATEGORY N8
C***TYPE CHARACTER (SPPERM-S, DPPERM-D, IPPERM-I, HPPERM-H)
C***KEYWORDS APPLICATION OF PERMUTATION TO DATA VECTOR
C***AUTHOR McClain, M. A., (NIST)
C Rhoads, G. S., (NBS)
C***DESCRIPTION
C
C HPPERM rearranges the data vector HX according to the
C permutation IPERM: HX(I) <--- HX(IPERM(I)). IPERM could come
C from one of the sorting routines IPSORT, SPSORT, DPSORT or
C HPSORT.
C
C Description of Parameters
C HX - input/output -- character array of values to be
C rearranged.
C N - input -- number of values in character array HX.
C IPERM - input -- permutation vector.
C WORK - character variable which must have a length
C specification at least as great as that of HX.
C IER - output -- error indicator:
C = 0 if no error,
C = 1 if N is zero or negative,
C = 2 if work array is not long enough,
C = 3 if IPERM is not a valid permutation.
C
C***REFERENCES (NONE)
C***ROUTINES CALLED XERMSG
C***REVISION HISTORY (YYMMDD)
C 901004 DATE WRITTEN
C 920507 Modified by M. McClain to revise prologue text and to add
C check for length of work array.
C***END PROLOGUE HPPERM