SUBROUTINE DROT(N, SX, INCX, SY, INCY, SC, SS) INTEGER N, INCX, INCY DOUBLE PRECISION SX(INCX, 1), SY(INCY, 1), SC, SS INTEGER J DOUBLE PRECISION SW C APPLY ( SC SS) TO THE 2 BY N MATRIX (SX(1) ... SX(N)) C (-SS SC) (SY(1) ... SY(N)) IF (N .EQ. 0) RETURN C/6S C IF (N .LT. 0) CALL SETERR(17H DROT - N .LT. 0, 17, 1, 2) C IF (INCX .LE. 0) CALL SETERR(19H DROT - INCX .LT.0, 20, 1, 2) C IF (INCY .LE. 0) CALL SETERR(19H DROT - INCY .LT.0, 20, 1, 2) C/7S IF (N .LT. 0) CALL SETERR(' DROT - N .LT. 0', 17, 1, 2) IF (INCX .LE. 0) CALL SETERR(' DROT - INCX .LT.0', 20, 1, 2) IF (INCY .LE. 0) CALL SETERR(' DROT - INCY .LT.0', 20, 1, 2) C/ DO 1 J = 1, N SW = SC*SX(1, J)+SS*SY(1, J) SY(1, J) = (-SS)*SX(1, J)+SC*SY(1, J) SX(1, J) = SW 1 CONTINUE RETURN END .