sger


NAME

sger - perform the rank 1 operation A := alpha*x*y' + A


SYNOPSIS

  SUBROUTINE SGER( M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
  INTEGER M, N, INCX, INCY, LDA
  REAL ALPHA
  REAL X(*), Y(*), A(LDA,*)
 
  SUBROUTINE SGER_64( M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
  INTEGER*8 M, N, INCX, INCY, LDA
  REAL ALPHA
  REAL X(*), Y(*), A(LDA,*)
 

F95 INTERFACE

  SUBROUTINE GER( [M], [N], ALPHA, X, [INCX], Y, [INCY], A, [LDA])
  INTEGER :: M, N, INCX, INCY, LDA
  REAL :: ALPHA
  REAL, DIMENSION(:) :: X, Y
  REAL, DIMENSION(:,:) :: A
 
  SUBROUTINE GER_64( [M], [N], ALPHA, X, [INCX], Y, [INCY], A, [LDA])
  INTEGER(8) :: M, N, INCX, INCY, LDA
  REAL :: ALPHA
  REAL, DIMENSION(:) :: X, Y
  REAL, DIMENSION(:,:) :: A
 

C INTERFACE

#include <sunperf.h>

void sger(int m, int n, float alpha, float *x, int incx, float *y, int incy, float *a, int lda);

void sger_64(long m, long n, float alpha, float *x, long incx, float *y, long incy, float *a, long lda);


PURPOSE

sger 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.