Contents
zrot - apply a plane rotation, where the cos (C) is real and
the sin (S) is complex, and the vectors X and Y 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
F95 INTERFACE
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
C INTERFACE
#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, doublecom-
plex *y, long incy, double c, doublecomplex *s);
zrot applies a plane rotation, where the cos (C) is real
and the sin (S) is complex, and the vectors X and Y are
complex.
N (input)
The number of elements in the vectors X and Y.
X (input/output)
On input, the vector X. On output, X is overwrit-
ten with C*X + S*Y.
INCX (input)
The increment between successive values of X.
Y (input/output)
On input, the vector Y. On output, Y is overwrit-
ten with -CONJG(S)*X + C*Y.
INCY (input)
The increment between successive values of Y.
C (input)
S (input)
C and S define a rotation
[ C S ]
[ -conjg(S) C ]
where C*C + S*CONJG(S) = 1.0.