鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

?rot

基于平面上的点旋转。

x和y是含有n个元素的向量,c是旋转角的余弦,s是旋转角的正弦。

接口定义

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);

Fortran interface:

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

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

参数

参数名

类型

描述

输入/输出

N

整型数

表示X向量的元素个数。

输入

X

  • 在srot中,X是单精度浮点类型。
  • 在drot中,X是双精度浮点类型。

向量X,向量规模至少是(1+(n-1)*abs(incx))。

输入/输出

incX

整型数

表示x向量增长步长。

输入

Y

  • 在srot中,Y是单精度浮点类型。
  • 在drot中,Y是双精度浮点类型。

向量Y,向量规模至少是(1+(n-1)*abs(incy))。

输入/输出

incY

整型数

表示Y向量增长步。

输入

c

  • 在srot中,c是单精度浮点类型。
  • 在drot中,c是双精度浮点类型。

旋转角的余弦。

输入

s

  • 在srot中,s是单精度浮点类型。
  • 在drot中,s是双精度浮点类型。

旋转角的正弦。

输入

依赖

#include "kblas.h"

示例

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