File: SRMA.FT of Tape: Various/ETH/eth11-2
(Source file text) 

C
C     ..................................................................
C
C        SUBROUTINE SRMA
C
C        PURPOSE
C           MULTIPLY ROW OF MATRIX BY A SCALAR AND ADD TO ANOTHER ROW
C           OF THE SAME MATRIX
C
C        USAGE
C           CALL SRMA(A,C,N,M,LA,LB)
C
C        DESCRIPTION OF PARAMETERS
C           A  - NAME OF MATRIX
C           C  - SCALAR
C           N  - NUMBER OF ROWS IN A
C           M  - NUMBER OF COLUMNS IN A
C           LA - ROW IN A TO BE MULTIPLIED BY SCALAR
C           LB - ROW IN A TO WHICH PRODUCT IS ADDED
C                IF 0 IS SPECIFIED, PRODUCT REPLACES ELEMENTS IN ROW LA
C
C        REMARKS
C           MATRIX A MUST BE A GENERAL MATRIX
C
C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
C           NONE
C
C        METHOD
C           EACH ELEMENT OF ROW LA IS MULTIPLIED BY SCALAR C AND THE
C           PRODUCT IS ADDED TO THE CORRESPONDING ELEMENT OF ROW LB.
C           ROW LA REMAINS UNAFFECTED BY THE OPERATION.
C           IF PARAMETER LB CONTAINS ZERO, MULTIPLICATION BY THE SCALAR
C           IS PERFORMED AND THE PRODUCT REPLACES ELEMENTS IN ROW LA.
C
C     ..................................................................
C
      SUBROUTINE SRMA(A,C,N,M,LA,LB)
      DIMENSION A(1)
C
      LAJ=LA-N
      LBJ=LB-N
      DO 3 J=1,M
C
C        LOCATE ELEMENT IN BOTH ROWS
C
      LAJ=LAJ+N
      LBJ=LBJ+N
C
C        CHECK LB FOR ZERO
C
      IF(LB) 1,2,1
C
C        IF NOT, MULTIPLY BY CONSTANT AND ADD TO OTHER ROW
C
    1 A(LBJ)=A(LAJ)*C+A(LBJ)
      GO TO 3
C
C        OTHERWISE, MULTIPLY ROW BY CONSTANT
C
    2 A(LAJ)=A(LAJ)*C
    3 CONTINUE
      RETURN
      END