Rate This Document
Findability
Accuracy
Completeness
Readability

?rot

Perform rotation of points in a plane.

That is:

x and y are vectors that contain n elements, c is the cosine of the rotation angle, and s is the sine of the rotation angle.

Interface Definition

C interface:

void cblas_srot(const BLASINT N, float *X, const BLASINT incX, float *Y, const BLASINT incY, const float c, const float s);

void cblas_drot(const BLASINT N, double *X, const BLASINT incX, double *Y, const BLASINT incY, const double c, const double s);

void cblas_csrot(const BLASINT N, float *X, const BLASINT incX, float *Y, const BLASINT incY, const float c, const float s);

void cblas_zdrot(const BLASINT N, double *X, const BLASINT incX, double *Y, const BLASINT incY, const double c, const double s);

Fortran interface:

CALL SROT(N, SX, INCX, SY, INCY, SC, SS)

CALL DROT(N, SX, INCX, SY, INCY, SC, SS)

CALL CSROT(N, SX, INCX, SY, INCY, SC, SS)

CALL ZDROT(N, SX, INCX, SY, INCY, SC, SS)

Parameters

Parameter

Type

Description

Input/Output

N

Integer

Number of elements in the X vector.

Input

X

  • Single-precision floating-point type for srot
  • Double-precision floating-point type for drot
  • Single-precision complex type for csrot
  • Double-precision complex type for zdrot

Vector X. The vector size is at least (1+(n-1)*abs(incx)).

Input/Output

incX

Integer

Increment for the elements of vector X.

Input

Y

  • Single-precision floating-point type for srot
  • Double-precision floating-point type for drot
  • Single-precision complex type for csrot
  • Double-precision complex type for zdrot

Vector Y. The vector scale is at least (1+(n-1)*abs(incy)).

Input/Output

incY

Integer

Increment for the elements of vector Y.

Input

c

  • Single-precision floating-point type for srot or csrot
  • Double-precision floating-point type for drot or zdrot

Cosine of the rotation angle.

Input

s

  • Single-precision floating-point type for srot or csrot
  • Double-precision floating-point type for drot or zdrot

Sine of the rotation angle.

Input

Dependency

#include "kblas.h"

Examples

C interface:

    int n = 5, incx = 1, incy=1; 
    float c = 1, s = 1; 
    /* 
     * C = 1, S = 1 
     * Input X: 0.340188, -0.105617, 0.283099, 0.298440, 0.411647 
     * Input Y: -0.302449, -0.164777, 0.268230, -0.222225, 0.053970 
     **/ 
    float x[5] = {0.340188, -0.105617, 0.283099, 0.298440, 0.411647}; 
    float y[5] = {-0.302449, -0.164777, 0.268230, -0.222225, 0.053970}; 
 
    cblas_srot(n, x, incx, y, incy, c, s); 
    /* 
     * Output X: 0.037739, -0.270394, 0.551329, 0.076215, 0.465617 
     * Output Y: -0.642636, -0.059160, -0.014870, -0.520665, -0.357677 
     **/

Fortran interface:

      INTEGER :: N=5 
      INTEGER :: INCX=1 
      INTEGER :: INCY=1 
      REAL(4) :: C=1 
      REAL(4) :: S=1 
      REAL(4) :: X(5) 
      DATA X /0.340188, -0.105617, 0.283099, 0.298440, 0.411647/ 
      REAL(4) :: Y(5) 
      DATA Y /-0.302449, -0.164777, 0.268230, -0.222225, 0.053970/ 
      EXTERNAL SROT 
      CALL SROT(N, X, INCX, Y, INCY, C, S) 
 
*     Output X: 0.037739, -0.270394, 0.551329, 0.076215, 0.465617 
*     Output Y: -0.642636, -0.059160, -0.014870, -0.520665, -0.357677