zdrot


NAME

zdrot - Apply a plane rotation.


SYNOPSIS

  SUBROUTINE ZDROT( N, CX, INCX, CY, INCY, C, S)
  DOUBLE COMPLEX C, S
  DOUBLE COMPLEX CX(*), CY(*)
  INTEGER N, INCX, INCY
 
  SUBROUTINE ZDROT_64( N, CX, INCX, CY, INCY, C, S)
  DOUBLE COMPLEX C, S
  DOUBLE COMPLEX CX(*), CY(*)
  INTEGER*8 N, INCX, INCY
 

F95 INTERFACE

  SUBROUTINE ROT( [N], CX, [INCX], CY, [INCY], C, S)
  COMPLEX(8) :: C, S
  COMPLEX(8), DIMENSION(:) :: CX, CY
  INTEGER :: N, INCX, INCY
 
  SUBROUTINE ROT_64( [N], CX, [INCX], CY, [INCY], C, S)
  COMPLEX(8) :: C, S
  COMPLEX(8), DIMENSION(:) :: CX, CY
  INTEGER(8) :: N, INCX, INCY
 

C INTERFACE

#include <sunperf.h>

void zdrot(int n, doublecomplex *cx, int incx, doublecomplex *cy, int incy, doublecomplex c, doublecomplex s);

void zdrot_64(long n, doublecomplex *cx, long incx, doublecomplex *cy, long incy, doublecomplex c, doublecomplex s);


PURPOSE

zdrot 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.

* CX (input)
Before entry, the incremented array CX must contain the vector x. Unchanged on exit.

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

* CY (output)
On entry, the incremented array CY must contain the vector y. On exit, CY is overwritten by the updated vector y.

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

* C (input)
On entry, the cosine.

* S (input)
On entry, the sin.