Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

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);

Description

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)