zrot
zrot - apply a plane rotation, where the cos (C) is real and the sin (S) is complex, and the vectors CX and CY are complex
SUBROUTINE ZROT( N, X, INCX, Y, INCY, C, S)
DOUBLE COMPLEX S
DOUBLE COMPLEX X(*), Y(*)
INTEGER N, INCX, INCY
DOUBLE PRECISION C
SUBROUTINE ZROT_64( N, X, INCX, Y, INCY, C, S)
DOUBLE COMPLEX S
DOUBLE COMPLEX X(*), Y(*)
INTEGER*8 N, INCX, INCY
DOUBLE PRECISION C
SUBROUTINE ROT( [N], X, [INCX], Y, [INCY], C, S)
COMPLEX(8) :: S
COMPLEX(8), DIMENSION(:) :: X, Y
INTEGER :: N, INCX, INCY
REAL(8) :: C
SUBROUTINE ROT_64( [N], X, [INCX], Y, [INCY], C, S)
COMPLEX(8) :: S
COMPLEX(8), DIMENSION(:) :: X, Y
INTEGER(8) :: N, INCX, INCY
REAL(8) :: C
#include <sunperf.h>
void zrot(int n, doublecomplex *x, int incx, doublecomplex *y, int incy, double c, doublecomplex s);
void zrot_64(long n, doublecomplex *x, long incx, doublecomplex *y, long incy, double c, doublecomplex s);
zrot CROT applies a plane rotation, where the cos (C) is real and the
sin (S) is complex, and the vectors CX and CY are complex.
-
* N (input)
-
The number of elements in the vectors X and Y.
-
* X (output)
-
On input, the vector X.
On output, X is overwritten with C*X + S*Y.
-
* INCX (input)
-
The increment between successive values of Y. INCX <> 0.
-
* Y (output)
-
On input, the vector Y.
On output, Y is overwritten with -CONJG(S)*X + C*Y.
-
* INCY (input)
-
The increment between successive values of Y. INCX <> 0.
-
* C (input)
-
-
* S (input)
-
.Vb 5
\& C and S define a rotation
\& [ C S ]
\& [ -conjg(S) C ]
\&
\& where C*C + S*CONJG(S) = 1.0.
.Ve