Contents
     drot - Apply a Given's rotation constructed by SROTG.
     SUBROUTINE DROT(N, X, INCX, Y, INCY, C, S)
     INTEGER N, INCX, INCY
     DOUBLE PRECISION C, S
     DOUBLE PRECISION X(*), Y(*)
     SUBROUTINE DROT_64(N, X, INCX, Y, INCY, C, S)
     INTEGER*8 N, INCX, INCY
     DOUBLE PRECISION C, S
     DOUBLE PRECISION X(*), Y(*)
  F95 INTERFACE
     SUBROUTINE ROT([N], X, [INCX], Y, [INCY], C, S)
     INTEGER :: N, INCX, INCY
     REAL(8) :: C, S
     REAL(8), DIMENSION(:) :: X, Y
     SUBROUTINE ROT_64([N], X, [INCX], Y, [INCY], C, S)
     INTEGER(8) :: N, INCX, INCY
     REAL(8) :: C, S
     REAL(8), DIMENSION(:) :: X, Y
  C INTERFACE
     #include <sunperf.h>
     void drot(int n, double *x, int incx, double *y,  int  incy,
               double c, double s);
     void drot_64(long n, double *x, long incx, double  *y,  long
               incy, double c, double s);
     drot Apply a Given's rotation constructed by SROTG.
     N (input)
               On entry, N specifies the number  of  elements  in
               the  vector.   N must be at least one for the sub-
               routine to have any visible effect.  Unchanged  on
               exit.
     X (input/output)
               ( 1 + ( n - 1 )*abs( INCX ) ).  Before entry,  the
               incremented array X must contain the vector x.
     INCX (input)
               On entry, INCX specifies  the  increment  for  the
               elements of X.  Unchanged on exit.
     Y (input/output)
               ( 1 + ( n - 1 )*abs( INCY  )  ).   On  entry,  the
               incremented  array Y must contain the vector y. On
               exit, Y is overwritten by the updated vector y.
     INCY (input)
               On entry, INCY specifies  the  increment  for  the
               elements of Y.  Unchanged on exit.
     C (input) On entry, the  C  rotation  value  constructed  by
               SROTG.  Unchanged on exit.
     S (input) On entry, the  S  rotation  value  constructed  by
               SROTG.  Unchanged on exit.