Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

dlamrg (3p)

Name

dlamrg - 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 DLAMRG(N1, N2, A, TRD1, TRD2, INDEX)

INTEGER N1, N2, TRD1, TRD2
INTEGER INDEX(*)
DOUBLE PRECISION A(*)

SUBROUTINE DLAMRG_64(N1, N2, A, TRD1, TRD2, INDEX)

INTEGER*8 N1, N2, TRD1, TRD2
INTEGER*8 INDEX(*)
DOUBLE PRECISION A(*)




F95 INTERFACE
SUBROUTINE LAMRG(N1, N2, A, TRD1, TRD2, INDEX)

INTEGER :: N1, N2, TRD1, TRD2
INTEGER, DIMENSION(:) :: INDEX
REAL(8), DIMENSION(:) :: A

SUBROUTINE LAMRG_64(N1, N2, A, TRD1, TRD2, INDEX)

INTEGER(8) :: N1, N2, TRD1, TRD2
INTEGER(8), DIMENSION(:) :: INDEX
REAL(8), DIMENSION(:) :: A




C INTERFACE
#include <sunperf.h>

void dlamrg(int n1, int n2, double *a, int trd1, int trd2, int *index);

void dlamrg_64(long n1, long n2, double *a, long trd1, long trd2,  long
*index);

Description

Oracle Solaris Studio Performance Library                           dlamrg(3P)



NAME
       dlamrg  -  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 DLAMRG(N1, N2, A, TRD1, TRD2, INDEX)

       INTEGER N1, N2, TRD1, TRD2
       INTEGER INDEX(*)
       DOUBLE PRECISION A(*)

       SUBROUTINE DLAMRG_64(N1, N2, A, TRD1, TRD2, INDEX)

       INTEGER*8 N1, N2, TRD1, TRD2
       INTEGER*8 INDEX(*)
       DOUBLE PRECISION A(*)




   F95 INTERFACE
       SUBROUTINE LAMRG(N1, N2, A, TRD1, TRD2, INDEX)

       INTEGER :: N1, N2, TRD1, TRD2
       INTEGER, DIMENSION(:) :: INDEX
       REAL(8), DIMENSION(:) :: A

       SUBROUTINE LAMRG_64(N1, N2, A, TRD1, TRD2, INDEX)

       INTEGER(8) :: N1, N2, TRD1, TRD2
       INTEGER(8), DIMENSION(:) :: INDEX
       REAL(8), DIMENSION(:) :: A




   C INTERFACE
       #include <sunperf.h>

       void dlamrg(int n1, int n2, double *a, int trd1, int trd2, int *index);

       void dlamrg_64(long n1, long n2, double *a, long trd1, long trd2,  long
                 *index);



PURPOSE
       dlamrg  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                        dlamrg(3P)