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);
Oracle Solaris Studio Performance Library slamrg(3P) NAME 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 SYNOPSIS 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); PURPOSE 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. ARGUMENTS 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 num- bers 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. = -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. 7 Nov 2015 slamrg(3P)