dger - perform the rank 1 operation A := alpha*x*y' + A
SUBROUTINE DGER(M, N, ALPHA, X, INCX, Y, INCY, A, LDA) INTEGER M, N, INCX, INCY, LDA DOUBLE PRECISION ALPHA DOUBLE PRECISION X(*), Y(*), A(LDA,*) SUBROUTINE DGER_64(M, N, ALPHA, X, INCX, Y, INCY, A, LDA) INTEGER*8 M, N, INCX, INCY, LDA DOUBLE PRECISION ALPHA DOUBLE PRECISION X(*), Y(*), A(LDA,*) F95 INTERFACE SUBROUTINE GER(M, N, ALPHA, X, INCX, Y, INCY, A, LDA) INTEGER :: M, N, INCX, INCY, LDA REAL(8) :: ALPHA REAL(8), DIMENSION(:) :: X, Y REAL(8), DIMENSION(:,:) :: A SUBROUTINE GER_64(M, N, ALPHA, X, INCX, Y, INCY, A, LDA) INTEGER(8) :: M, N, INCX, INCY, LDA REAL(8) :: ALPHA REAL(8), DIMENSION(:) :: X, Y REAL(8), DIMENSION(:,:) :: A C INTERFACE #include <sunperf.h> void dger(int m, int n, double alpha, double *x, int incx, double *y, int incy, double *a, int lda); void dger_64(long m, long n, double alpha, double *x, long incx, double *y, long incy, double *a, long lda);
Oracle Solaris Studio Performance Library dger(3P) NAME dger - perform the rank 1 operation A := alpha*x*y' + A SYNOPSIS SUBROUTINE DGER(M, N, ALPHA, X, INCX, Y, INCY, A, LDA) INTEGER M, N, INCX, INCY, LDA DOUBLE PRECISION ALPHA DOUBLE PRECISION X(*), Y(*), A(LDA,*) SUBROUTINE DGER_64(M, N, ALPHA, X, INCX, Y, INCY, A, LDA) INTEGER*8 M, N, INCX, INCY, LDA DOUBLE PRECISION ALPHA DOUBLE PRECISION X(*), Y(*), A(LDA,*) F95 INTERFACE SUBROUTINE GER(M, N, ALPHA, X, INCX, Y, INCY, A, LDA) INTEGER :: M, N, INCX, INCY, LDA REAL(8) :: ALPHA REAL(8), DIMENSION(:) :: X, Y REAL(8), DIMENSION(:,:) :: A SUBROUTINE GER_64(M, N, ALPHA, X, INCX, Y, INCY, A, LDA) INTEGER(8) :: M, N, INCX, INCY, LDA REAL(8) :: ALPHA REAL(8), DIMENSION(:) :: X, Y REAL(8), DIMENSION(:,:) :: A C INTERFACE #include <sunperf.h> void dger(int m, int n, double alpha, double *x, int incx, double *y, int incy, double *a, int lda); void dger_64(long m, long n, double alpha, double *x, long incx, double *y, long incy, double *a, long lda); PURPOSE dger performs the rank 1 operation A := alpha*x*y' + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix. ARGUMENTS M (input) On entry, M specifies the number of rows of the matrix A. M >= 0. Unchanged on exit. N (input) On entry, N specifies the number of columns of the matrix A. N >= 0. Unchanged on exit. ALPHA (input) On entry, ALPHA specifies the scalar alpha. Unchanged on exit. X (input) ( 1 + ( m - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the m element vector x. Unchanged on exit. INCX (input) On entry, INCX specifies the increment for the elements of X. INCX <> 0. Unchanged on exit. Y (input) ( 1 + ( n - 1 )*abs( INCY ) ). Before entry, the incremented array Y must contain the n element vector y. Unchanged on exit. INCY (input) On entry, INCY specifies the increment for the elements of Y. INCY <> 0. Unchanged on exit. A (input/output) Before entry, the leading m by n part of the array A must contain the matrix of coefficients. On exit, A is overwritten by the updated matrix. LDA (input) On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA >= max( 1, m ). Unchanged on exit. 7 Nov 2015 dger(3P)