drot


NAME

drot - Apply a Given's rotation constructed by SROTG.


SYNOPSIS

  SUBROUTINE DROT( N, X, INCX, Y, INCY, C, S)
  INTEGER N, INCX, INCY
  DOUBLE PRECISION C, S
  DOUBLE PRECISION X(*), Y(*)
 
  SUBROUTINE DROT_64( N, X, INCX, Y, INCY, C, S)
  INTEGER*8 N, INCX, INCY
  DOUBLE PRECISION C, S
  DOUBLE PRECISION X(*), Y(*)
 

F95 INTERFACE

  SUBROUTINE ROT( [N], X, [INCX], Y, [INCY], C, S)
  INTEGER :: N, INCX, INCY
  REAL(8) :: C, S
  REAL(8), DIMENSION(:) :: X, Y
 
  SUBROUTINE ROT_64( [N], X, [INCX], Y, [INCY], C, S)
  INTEGER(8) :: N, INCX, INCY
  REAL(8) :: C, S
  REAL(8), DIMENSION(:) :: X, Y
 

C INTERFACE

#include <sunperf.h>

void drot(int n, double *x, int incx, double *y, int incy, double c, double s);

void drot_64(long n, double *x, long incx, double *y, long incy, double c, double s);


PURPOSE

drot Apply a Given's rotation constructed by SROTG.


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)
( 1 + ( n - 1 )*abs( INCX ) ). 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)
( 1 + ( m - 1 )*abs( INCY ) ). 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 C rotation value constructed by SROTG. Unchanged on exit.

* S (input)
On entry, the S rotation value constructed by SROTG. Unchanged on exit.