Contents


NAME

     srot - Apply a Given's rotation constructed by SROTG.

SYNOPSIS

     SUBROUTINE SROT(N, X, INCX, Y, INCY, C, S)

     INTEGER N, INCX, INCY
     REAL C, S
     REAL X(*), Y(*)

     SUBROUTINE SROT_64(N, X, INCX, Y, INCY, C, S)

     INTEGER*8 N, INCX, INCY
     REAL C, S
     REAL X(*), Y(*)

  F95 INTERFACE
     SUBROUTINE ROT([N], X, [INCX], Y, [INCY], C, S)

     INTEGER :: N, INCX, INCY
     REAL :: C, S
     REAL, DIMENSION(:) :: X, Y

     SUBROUTINE ROT_64([N], X, [INCX], Y, [INCY], C, S)

     INTEGER(8) :: N, INCX, INCY
     REAL :: C, S
     REAL, DIMENSION(:) :: X, Y

  C INTERFACE
     #include <sunperf.h>

     void srot(int n, float *x, int incx,  float  *y,  int  incy,
               float c, float s);

     void srot_64(long n, float *x, long  incx,  float  *y,  long
               incy, float c, float s);

PURPOSE

     srot Apply a Given's rotation constructed by SROTG.

ARGUMENTS

     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.