cscal2p28_x1.c
来自「基于Blas CLapck的.用过的人知道是干啥的」· C语言 代码 · 共 46 行
C
46 行
#include "atlas_misc.h"#include "atlas_prefetch.h"void ATL_USCAL(const int N, const SCALAR alpha, TYPE *X, const int incX){ int n; const int incx = incX+incX; const register TYPE ra=(*alpha), ia=alpha[1]; register TYPE rx, ix, rx1, ix1; TYPE *stX, *stX0 = X + N + N; n = ATL_AlignOffset(N, X, ATL_sizeof, ATL_MulBySize(2)); if (n==1) /* not aligned */ { rx = *X; ix = X[1]; *X = rx*ra - ix*ia; X[1] = rx*ia + ix*ra; X += 2; n = N - 1; } else n = N; stX = X + ((n>>1)<<2); if (X != stX) { do { ATL_pfl1W(X+56); rx = *X; ix = X[1]; rx1 = X[2]; ix1 = X[3]; *X = rx*ra - ix*ia; X[1] = rx*ia + ix*ra; X[2] = rx1*ra - ix1*ia; X[3] = rx1*ia + ix1*ra; X += 4; } while(X != stX); } if (X != stX0) { rx = *X; ix = X[1]; *X = rx*ra - ix*ia; X[1] = rx*ia + ix*ra; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?