csrot


NAME

csrot - Apply a plane rotation.


SYNOPSIS

  SUBROUTINE CSROT( N, X, INCX, Y, INCY, C, S)
  COMPLEX C, S
  COMPLEX X(*), Y(*)
  INTEGER N, INCX, INCY
 
  SUBROUTINE CSROT_64( N, X, INCX, Y, INCY, C, S)
  COMPLEX C, S
  COMPLEX X(*), Y(*)
  INTEGER*8 N, INCX, INCY
 

F95 INTERFACE

  SUBROUTINE ROT( [N], X, [INCX], Y, [INCY], C, S)
  COMPLEX :: C, S
  COMPLEX, DIMENSION(:) :: X, Y
  INTEGER :: N, INCX, INCY
 
  SUBROUTINE ROT_64( [N], X, [INCX], Y, [INCY], C, S)
  COMPLEX :: 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, complex c, complex s);

void csrot_64(long n, complex *x, long incx, complex *y, long incy, complex c, complex 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 subroutine to have any visible effect. Unchanged on exit.

* X (input)
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 (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.

* S (input)
On entry, the sin.