Contents


NAME

     csrot - Apply a plane rotation.

SYNOPSIS

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

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

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

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

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

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

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

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

  C INTERFACE
     #include <sunperf.h>

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

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

PURPOSE

     csrot Apply a plane rotation, where the cos and sin  (c  and
     s) are real and the vectors x and y are complex.

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)
      Before entry,  the incremented  array  X  must  contain the
      vector x.  Unchanged on exit.

     INCX (input)
               On entry, INCX specifies  the  increment  for  the
               elements  of  X. INCX must not be zero.  Unchanged
               on exit.

     Y (input/output)
               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. INCY must not be zero.  Unchanged
               on exit.

     C (input)
               On entry, the cosine.  Unchanged on exit.

     S (input)
               On entry, the sin.  Unchanged on exit.