Contents
slamrg - will create a permutation list which will merge the
elements of A (which is composed of two independently sorted
sets) into a single set which is sorted in ascending order
SUBROUTINE SLAMRG(N1, N2, A, TRD1, TRD2, INDEX)
INTEGER N1, N2, TRD1, TRD2
INTEGER INDEX(*)
REAL A(*)
SUBROUTINE SLAMRG_64(N1, N2, A, TRD1, TRD2, INDEX)
INTEGER*8 N1, N2, TRD1, TRD2
INTEGER*8 INDEX(*)
REAL A(*)
F95 INTERFACE
SUBROUTINE LAMRG(N1, N2, A, TRD1, TRD2, INDEX)
INTEGER :: N1, N2, TRD1, TRD2
INTEGER, DIMENSION(:) :: INDEX
REAL, DIMENSION(:) :: A
SUBROUTINE LAMRG_64(N1, N2, A, TRD1, TRD2, INDEX)
INTEGER(8) :: N1, N2, TRD1, TRD2
INTEGER(8), DIMENSION(:) :: INDEX
REAL, DIMENSION(:) :: A
C INTERFACE
#include <sunperf.h>
void slamrg(int n1, int n2, float *a, int trd1, int trd2,
int *index);
void slamrg_64(long n1, long n2, float *a, long trd1, long
trd2, long *index);
slamrg will create a permutation list which will merge the
elements of A (which is composed of two independently sorted
sets) into a single set which is sorted in ascending order.
N1 (input)
Length of the first sequence to be merged.
N2 (input)
Length of the second sequence to be merged.
A (input) On entry, the first N1 elements of A contain a
list of numbers which are sorted in either ascend-
ing or descending order. Likewise for the final
N2 elements.
TRD1 (input)
Describes the stride to be taken through the array
A for the first N1 elements.
= -1 subset is sorted in descending order.
= 1 subset is sorted in ascending order.
TRD2 (input)
Describes the stride to be taken through the array
A for the first N1 elements.
= -1 subset is sorted in descending order.
= 1 subset is sorted in ascending order.
INDEX (output)
On exit this array will contain a permutation such
that if B( I ) = A( INDEX( I ) ) for I=1,N1+N2,
then B will be sorted in ascending order.