rot4_x1y1.c

来自「基于Blas CLapck的.用过的人知道是干啥的」· C语言 代码 · 共 42 行

C
42
字号
#include "atlas_misc.h"#include "atlas_prefetch.h"#define ATL_PFD 24void ATL_UROT(const int N, TYPE *X, const int incX, TYPE *Y, const int incY,              const TYPE c, const TYPE s)/* * rot, no unrolling, incX=incY=1, arbitrary S & C */{   const register TYPE C=c, S=s;   register TYPE x0, x1, y0, y1;   TYPE *stX = X + ((N>>2)<<2), *stX0 = X + N;   if (X != stX)   {      do      {         x0 = *X;   y0 = *Y;         x1 = X[1]; y1 = Y[1];         *X   = C*x0 + S*y0; ATL_pfl1W(X+ATL_PFD); ATL_pfl1W(Y+ATL_PFD);         *Y   = C*y0 - S*x0; x0 = X[2];         Y[1] = C*y1 - S*x1; y0 = Y[2];         X[1] = C*x1 + S*y1; x1 = X[3];         X[2] = C*x0 + S*y0; y1 = Y[3];         Y[2] = C*y0 - S*x0;         X[3] = C*x1 + S*y1;         Y[3] = C*y1 - S*x1;         Y += 4;         X += 4;      }      while (X != stX);   }   while (X != stX0)   {      x0 = *X; y0 = *Y;      *X++ = C*x0 + S*y0;      *Y++ = C*y0 - S*x0;   }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?