slamrg
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(*)
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
#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 ascending 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.
-
* TRD2 (input)
-
Describes the stride to be taken through the array A for the first N1 elements.
-
* 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.