本文整理汇总了C++中ST函数的典型用法代码示例。如果您正苦于以下问题:C++ ST函数的具体用法?C++ ST怎么用?C++ ST使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ST函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: t1bv_12
static void t1bv_12(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
{
DVK(KP866025403, +0.866025403784438646763723170752936183471402627);
DVK(KP500000000, +0.500000000000000000000000000000000000000000000);
{
INT m;
R *x;
x = ii;
for (m = mb, W = W + (mb * ((TWVL / VL) * 22)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 22), MAKE_VOLATILE_STRIDE(12, rs)) {
V TI, Ti, TA, T7, Tm, TE, Tw, Tk, Tf, TB, TU, TM;
{
V T9, TK, Tj, TL, Te;
{
V T1, T4, T2, Tp, Tt, Tr;
T1 = LD(&(x[0]), ms, &(x[0]));
T4 = LD(&(x[WS(rs, 8)]), ms, &(x[0]));
T2 = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
Tp = LD(&(x[WS(rs, 9)]), ms, &(x[WS(rs, 1)]));
Tt = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
Tr = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
{
V T5, T3, Tq, Tu, Ts, Td, Tb, T8, Tc, Ta;
T8 = LD(&(x[WS(rs, 6)]), ms, &(x[0]));
Tc = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
Ta = LD(&(x[WS(rs, 10)]), ms, &(x[0]));
T5 = BYTW(&(W[TWVL * 14]), T4);
T3 = BYTW(&(W[TWVL * 6]), T2);
Tq = BYTW(&(W[TWVL * 16]), Tp);
Tu = BYTW(&(W[TWVL * 8]), Tt);
Ts = BYTW(&(W[0]), Tr);
T9 = BYTW(&(W[TWVL * 10]), T8);
Td = BYTW(&(W[TWVL * 2]), Tc);
Tb = BYTW(&(W[TWVL * 18]), Ta);
{
V Th, T6, Tl, Tv;
Th = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
TK = VSUB(T3, T5);
T6 = VADD(T3, T5);
Tl = LD(&(x[WS(rs, 11)]), ms, &(x[WS(rs, 1)]));
Tv = VADD(Ts, Tu);
TI = VSUB(Tu, Ts);
Tj = LD(&(x[WS(rs, 7)]), ms, &(x[WS(rs, 1)]));
TL = VSUB(Tb, Td);
Te = VADD(Tb, Td);
Ti = BYTW(&(W[TWVL * 4]), Th);
TA = VFNMS(LDK(KP500000000), T6, T1);
T7 = VADD(T1, T6);
Tm = BYTW(&(W[TWVL * 20]), Tl);
TE = VFNMS(LDK(KP500000000), Tv, Tq);
Tw = VADD(Tq, Tv);
}
}
}
Tk = BYTW(&(W[TWVL * 12]), Tj);
Tf = VADD(T9, Te);
TB = VFNMS(LDK(KP500000000), Te, T9);
TU = VSUB(TK, TL);
TM = VADD(TK, TL);
}
{
V Tn, TH, TC, TQ, Ty, Tg;
Tn = VADD(Tk, Tm);
TH = VSUB(Tk, Tm);
TC = VADD(TA, TB);
TQ = VSUB(TA, TB);
Ty = VADD(T7, Tf);
Tg = VSUB(T7, Tf);
{
V To, TD, TJ, TR;
To = VADD(Ti, Tn);
TD = VFNMS(LDK(KP500000000), Tn, Ti);
TJ = VSUB(TH, TI);
TR = VADD(TH, TI);
{
V TP, TN, TW, TS, TO, TG, TX, TV;
{
V Tz, Tx, TF, TT;
Tz = VADD(To, Tw);
Tx = VSUB(To, Tw);
TF = VADD(TD, TE);
TT = VSUB(TD, TE);
TP = VMUL(LDK(KP866025403), VADD(TM, TJ));
TN = VMUL(LDK(KP866025403), VSUB(TJ, TM));
TW = VFMA(LDK(KP866025403), TR, TQ);
TS = VFNMS(LDK(KP866025403), TR, TQ);
ST(&(x[WS(rs, 6)]), VSUB(Ty, Tz), ms, &(x[0]));
ST(&(x[0]), VADD(Ty, Tz), ms, &(x[0]));
ST(&(x[WS(rs, 9)]), VFMAI(Tx, Tg), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 3)]), VFNMSI(Tx, Tg), ms, &(x[WS(rs, 1)]));
TO = VADD(TC, TF);
TG = VSUB(TC, TF);
TX = VFNMS(LDK(KP866025403), TU, TT);
TV = VFMA(LDK(KP866025403), TU, TT);
}
ST(&(x[WS(rs, 8)]), VFNMSI(TP, TO), ms, &(x[0]));
ST(&(x[WS(rs, 4)]), VFMAI(TP, TO), ms, &(x[0]));
ST(&(x[WS(rs, 2)]), VFMAI(TN, TG), ms, &(x[0]));
ST(&(x[WS(rs, 10)]), VFNMSI(TN, TG), ms, &(x[0]));
ST(&(x[WS(rs, 5)]), VFMAI(TX, TW), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 7)]), VFNMSI(TX, TW), ms, &(x[WS(rs, 1)]));
//.........这里部分代码省略.........
示例2: n1fv_9
static void n1fv_9(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
{
DVK(KP342020143, +0.342020143325668733044099614682259580763083368);
DVK(KP813797681, +0.813797681349373692844693217248393223289101568);
DVK(KP939692620, +0.939692620785908384054109277324731469936208134);
DVK(KP296198132, +0.296198132726023843175338011893050938967728390);
DVK(KP642787609, +0.642787609686539326322643409907263432907559884);
DVK(KP663413948, +0.663413948168938396205421319635891297216863310);
DVK(KP556670399, +0.556670399226419366452912952047023132968291906);
DVK(KP766044443, +0.766044443118978035202392650555416673935832457);
DVK(KP984807753, +0.984807753012208059366743024589523013670643252);
DVK(KP150383733, +0.150383733180435296639271897612501926072238258);
DVK(KP852868531, +0.852868531952443209628250963940074071936020296);
DVK(KP173648177, +0.173648177666930348851716626769314796000375677);
DVK(KP500000000, +0.500000000000000000000000000000000000000000000);
DVK(KP866025403, +0.866025403784438646763723170752936183471402627);
{
INT i;
const R *xi;
R *xo;
xi = ri;
xo = ro;
for (i = v; i > 0; i = i - VL, xi = xi + (VL * ivs), xo = xo + (VL * ovs), MAKE_VOLATILE_STRIDE(18, is), MAKE_VOLATILE_STRIDE(18, os)) {
V T5, Ts, Tj, To, Tf, Tn, Tp, Tu, Tl, Ta, Tk, Tm, Tt;
{
V T1, T2, T3, T4;
T1 = LD(&(xi[0]), ivs, &(xi[0]));
T2 = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
T3 = LD(&(xi[WS(is, 6)]), ivs, &(xi[0]));
T4 = VADD(T2, T3);
T5 = VADD(T1, T4);
Ts = VMUL(LDK(KP866025403), VSUB(T3, T2));
Tj = VFNMS(LDK(KP500000000), T4, T1);
}
{
V Tb, Te, Tc, Td;
Tb = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
Tc = LD(&(xi[WS(is, 5)]), ivs, &(xi[WS(is, 1)]));
Td = LD(&(xi[WS(is, 8)]), ivs, &(xi[0]));
Te = VADD(Tc, Td);
To = VSUB(Td, Tc);
Tf = VADD(Tb, Te);
Tn = VFNMS(LDK(KP500000000), Te, Tb);
Tp = VFMA(LDK(KP173648177), Tn, VMUL(LDK(KP852868531), To));
Tu = VFNMS(LDK(KP984807753), Tn, VMUL(LDK(KP150383733), To));
}
{
V T6, T9, T7, T8;
T6 = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
T7 = LD(&(xi[WS(is, 4)]), ivs, &(xi[0]));
T8 = LD(&(xi[WS(is, 7)]), ivs, &(xi[WS(is, 1)]));
T9 = VADD(T7, T8);
Tl = VSUB(T8, T7);
Ta = VADD(T6, T9);
Tk = VFNMS(LDK(KP500000000), T9, T6);
Tm = VFMA(LDK(KP766044443), Tk, VMUL(LDK(KP556670399), Tl));
Tt = VFNMS(LDK(KP642787609), Tk, VMUL(LDK(KP663413948), Tl));
}
{
V Ti, Tg, Th, Tz, TA;
Ti = VBYI(VMUL(LDK(KP866025403), VSUB(Tf, Ta)));
Tg = VADD(Ta, Tf);
Th = VFNMS(LDK(KP500000000), Tg, T5);
ST(&(xo[0]), VADD(T5, Tg), ovs, &(xo[0]));
ST(&(xo[WS(os, 3)]), VADD(Th, Ti), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 6)]), VSUB(Th, Ti), ovs, &(xo[0]));
Tz = VFMA(LDK(KP173648177), Tk, VFNMS(LDK(KP296198132), To, VFNMS(LDK(KP939692620), Tn, VFNMS(LDK(KP852868531), Tl, Tj))));
TA = VBYI(VSUB(VFNMS(LDK(KP342020143), Tn, VFNMS(LDK(KP150383733), Tl, VFNMS(LDK(KP984807753), Tk, VMUL(LDK(KP813797681), To)))), Ts));
ST(&(xo[WS(os, 7)]), VSUB(Tz, TA), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 2)]), VADD(Tz, TA), ovs, &(xo[0]));
{
V Tr, Tx, Tw, Ty, Tq, Tv;
Tq = VADD(Tm, Tp);
Tr = VADD(Tj, Tq);
Tx = VFMA(LDK(KP866025403), VSUB(Tt, Tu), VFNMS(LDK(KP500000000), Tq, Tj));
Tv = VADD(Tt, Tu);
Tw = VBYI(VADD(Ts, Tv));
Ty = VBYI(VADD(Ts, VFNMS(LDK(KP500000000), Tv, VMUL(LDK(KP866025403), VSUB(Tp, Tm)))));
ST(&(xo[WS(os, 8)]), VSUB(Tr, Tw), ovs, &(xo[0]));
ST(&(xo[WS(os, 4)]), VADD(Tx, Ty), ovs, &(xo[0]));
ST(&(xo[WS(os, 1)]), VADD(Tw, Tr), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 5)]), VSUB(Tx, Ty), ovs, &(xo[WS(os, 1)]));
}
}
}
}
VLEAVE();
}
示例3: n1bv_11
static void n1bv_11(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, int v, int ivs, int ovs)
{
DVK(KP959492973, +0.959492973614497389890368057066327699062454848);
DVK(KP654860733, +0.654860733945285064056925072466293553183791199);
DVK(KP142314838, +0.142314838273285140443792668616369668791051361);
DVK(KP415415013, +0.415415013001886425529274149229623203524004910);
DVK(KP841253532, +0.841253532831181168861811648919367717513292498);
DVK(KP540640817, +0.540640817455597582107635954318691695431770608);
DVK(KP909631995, +0.909631995354518371411715383079028460060241051);
DVK(KP989821441, +0.989821441880932732376092037776718787376519372);
DVK(KP755749574, +0.755749574354258283774035843972344420179717445);
DVK(KP281732556, +0.281732556841429697711417915346616899035777899);
int i;
const R *xi;
R *xo;
xi = ii;
xo = io;
BEGIN_SIMD();
for (i = v; i > 0; i = i - VL, xi = xi + (VL * ivs), xo = xo + (VL * ovs)) {
V Th, T3, Tm, Tf, Ti, Tc, Tj, T9, Tk, T6, Tl, Ta, Tb, Ts, Tt;
Th = LD(&(xi[0]), ivs, &(xi[0]));
{
V T1, T2, Td, Te;
T1 = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
T2 = LD(&(xi[WS(is, 10)]), ivs, &(xi[0]));
T3 = VSUB(T1, T2);
Tm = VADD(T1, T2);
Td = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
Te = LD(&(xi[WS(is, 9)]), ivs, &(xi[WS(is, 1)]));
Tf = VSUB(Td, Te);
Ti = VADD(Td, Te);
}
Ta = LD(&(xi[WS(is, 4)]), ivs, &(xi[0]));
Tb = LD(&(xi[WS(is, 7)]), ivs, &(xi[WS(is, 1)]));
Tc = VSUB(Ta, Tb);
Tj = VADD(Ta, Tb);
{
V T7, T8, T4, T5;
T7 = LD(&(xi[WS(is, 5)]), ivs, &(xi[WS(is, 1)]));
T8 = LD(&(xi[WS(is, 6)]), ivs, &(xi[0]));
T9 = VSUB(T7, T8);
Tk = VADD(T7, T8);
T4 = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
T5 = LD(&(xi[WS(is, 8)]), ivs, &(xi[0]));
T6 = VSUB(T4, T5);
Tl = VADD(T4, T5);
}
ST(&(xo[0]), VADD(Th, VADD(Tm, VADD(Ti, VADD(Tl, VADD(Tj, Tk))))), ovs, &(xo[0]));
{
V Tg, Tn, Tu, Tv;
Tg = VBYI(VFMA(LDK(KP281732556), T3, VFMA(LDK(KP755749574), T6, VFNMS(LDK(KP909631995), Tc, VFNMS(LDK(KP540640817), Tf, VMUL(LDK(KP989821441), T9))))));
Tn = VFMA(LDK(KP841253532), Ti, VFMA(LDK(KP415415013), Tj, VFNMS(LDK(KP142314838), Tk, VFNMS(LDK(KP654860733), Tl, VFNMS(LDK(KP959492973), Tm, Th)))));
ST(&(xo[WS(os, 5)]), VADD(Tg, Tn), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 6)]), VSUB(Tn, Tg), ovs, &(xo[0]));
Tu = VBYI(VFMA(LDK(KP755749574), T3, VFMA(LDK(KP540640817), T6, VFNMS(LDK(KP909631995), T9, VFNMS(LDK(KP989821441), Tf, VMUL(LDK(KP281732556), Tc))))));
Tv = VFMA(LDK(KP841253532), Tl, VFMA(LDK(KP415415013), Tk, VFNMS(LDK(KP959492973), Tj, VFNMS(LDK(KP142314838), Ti, VFNMS(LDK(KP654860733), Tm, Th)))));
ST(&(xo[WS(os, 4)]), VADD(Tu, Tv), ovs, &(xo[0]));
ST(&(xo[WS(os, 7)]), VSUB(Tv, Tu), ovs, &(xo[WS(os, 1)]));
}
Ts = VBYI(VFMA(LDK(KP909631995), T3, VFNMS(LDK(KP540640817), T9, VFNMS(LDK(KP989821441), Tc, VFNMS(LDK(KP281732556), T6, VMUL(LDK(KP755749574), Tf))))));
Tt = VFMA(LDK(KP415415013), Tm, VFMA(LDK(KP841253532), Tk, VFNMS(LDK(KP142314838), Tj, VFNMS(LDK(KP959492973), Tl, VFNMS(LDK(KP654860733), Ti, Th)))));
ST(&(xo[WS(os, 2)]), VADD(Ts, Tt), ovs, &(xo[0]));
ST(&(xo[WS(os, 9)]), VSUB(Tt, Ts), ovs, &(xo[WS(os, 1)]));
{
V Tq, Tr, To, Tp;
Tq = VBYI(VFMA(LDK(KP540640817), T3, VFMA(LDK(KP909631995), Tf, VFMA(LDK(KP989821441), T6, VFMA(LDK(KP755749574), Tc, VMUL(LDK(KP281732556), T9))))));
Tr = VFMA(LDK(KP841253532), Tm, VFMA(LDK(KP415415013), Ti, VFNMS(LDK(KP959492973), Tk, VFNMS(LDK(KP654860733), Tj, VFNMS(LDK(KP142314838), Tl, Th)))));
ST(&(xo[WS(os, 1)]), VADD(Tq, Tr), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 10)]), VSUB(Tr, Tq), ovs, &(xo[0]));
To = VBYI(VFMA(LDK(KP989821441), T3, VFMA(LDK(KP540640817), Tc, VFNMS(LDK(KP909631995), T6, VFNMS(LDK(KP281732556), Tf, VMUL(LDK(KP755749574), T9))))));
Tp = VFMA(LDK(KP415415013), Tl, VFMA(LDK(KP841253532), Tj, VFNMS(LDK(KP654860733), Tk, VFNMS(LDK(KP959492973), Ti, VFNMS(LDK(KP142314838), Tm, Th)))));
ST(&(xo[WS(os, 3)]), VADD(To, Tp), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 8)]), VSUB(Tp, To), ovs, &(xo[0]));
}
}
END_SIMD();
}
示例4: n2bv_14
static void n2bv_14(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, int v, int ivs, int ovs)
{
DVK(KP900968867, +0.900968867902419126236102319507445051165919162);
DVK(KP222520933, +0.222520933956314404288902564496794759466355569);
DVK(KP623489801, +0.623489801858733530525004884004239810632274731);
DVK(KP781831482, +0.781831482468029808708444526674057750232334519);
DVK(KP974927912, +0.974927912181823607018131682993931217232785801);
DVK(KP433883739, +0.433883739117558120475768332848358754609990728);
int i;
const R *xi;
R *xo;
xi = ii;
xo = io;
BEGIN_SIMD();
for (i = v; i > 0; i = i - VL, xi = xi + (VL * ivs), xo = xo + (VL * ovs)) {
V Tp, Ty, Tl, TL, Tq, TE, T7, TJ, Ts, TB, Te, TK, Tr, TH, Tn;
V To;
Tn = LD(&(xi[0]), ivs, &(xi[0]));
To = LD(&(xi[WS(is, 7)]), ivs, &(xi[WS(is, 1)]));
Tp = VSUB(Tn, To);
Ty = VADD(Tn, To);
{
V Th, TC, Tk, TD;
{
V Tf, Tg, Ti, Tj;
Tf = LD(&(xi[WS(is, 4)]), ivs, &(xi[0]));
Tg = LD(&(xi[WS(is, 11)]), ivs, &(xi[WS(is, 1)]));
Th = VSUB(Tf, Tg);
TC = VADD(Tf, Tg);
Ti = LD(&(xi[WS(is, 10)]), ivs, &(xi[0]));
Tj = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
Tk = VSUB(Ti, Tj);
TD = VADD(Ti, Tj);
}
Tl = VSUB(Th, Tk);
TL = VSUB(TD, TC);
Tq = VADD(Th, Tk);
TE = VADD(TC, TD);
}
{
V T3, Tz, T6, TA;
{
V T1, T2, T4, T5;
T1 = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
T2 = LD(&(xi[WS(is, 9)]), ivs, &(xi[WS(is, 1)]));
T3 = VSUB(T1, T2);
Tz = VADD(T1, T2);
T4 = LD(&(xi[WS(is, 12)]), ivs, &(xi[0]));
T5 = LD(&(xi[WS(is, 5)]), ivs, &(xi[WS(is, 1)]));
T6 = VSUB(T4, T5);
TA = VADD(T4, T5);
}
T7 = VSUB(T3, T6);
TJ = VSUB(Tz, TA);
Ts = VADD(T3, T6);
TB = VADD(Tz, TA);
}
{
V Ta, TF, Td, TG;
{
V T8, T9, Tb, Tc;
T8 = LD(&(xi[WS(is, 6)]), ivs, &(xi[0]));
T9 = LD(&(xi[WS(is, 13)]), ivs, &(xi[WS(is, 1)]));
Ta = VSUB(T8, T9);
TF = VADD(T8, T9);
Tb = LD(&(xi[WS(is, 8)]), ivs, &(xi[0]));
Tc = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
Td = VSUB(Tb, Tc);
TG = VADD(Tb, Tc);
}
Te = VSUB(Ta, Td);
TK = VSUB(TG, TF);
Tr = VADD(Ta, Td);
TH = VADD(TF, TG);
}
ST(&(xo[14]), VADD(Tp, VADD(Ts, VADD(Tq, Tr))), ovs, &(xo[2]));
ST(&(xo[0]), VADD(Ty, VADD(TB, VADD(TE, TH))), ovs, &(xo[0]));
{
V Tm, Tt, TQ, TP;
Tm = VBYI(VFMA(LDK(KP433883739), T7, VFNMS(LDK(KP781831482), Tl, VMUL(LDK(KP974927912), Te))));
Tt = VFMA(LDK(KP623489801), Tq, VFNMS(LDK(KP222520933), Tr, VFNMS(LDK(KP900968867), Ts, Tp)));
ST(&(xo[6]), VADD(Tm, Tt), ovs, &(xo[2]));
ST(&(xo[22]), VSUB(Tt, Tm), ovs, &(xo[2]));
TQ = VBYI(VFMA(LDK(KP974927912), TJ, VFMA(LDK(KP433883739), TL, VMUL(LDK(KP781831482), TK))));
TP = VFMA(LDK(KP623489801), TH, VFNMS(LDK(KP900968867), TE, VFNMS(LDK(KP222520933), TB, Ty)));
ST(&(xo[24]), VSUB(TP, TQ), ovs, &(xo[0]));
ST(&(xo[4]), VADD(TP, TQ), ovs, &(xo[0]));
}
{
V Tu, Tv, TM, TI;
Tu = VBYI(VFMA(LDK(KP781831482), T7, VFMA(LDK(KP974927912), Tl, VMUL(LDK(KP433883739), Te))));
Tv = VFMA(LDK(KP623489801), Ts, VFNMS(LDK(KP900968867), Tr, VFNMS(LDK(KP222520933), Tq, Tp)));
ST(&(xo[2]), VADD(Tu, Tv), ovs, &(xo[2]));
ST(&(xo[26]), VSUB(Tv, Tu), ovs, &(xo[2]));
TM = VBYI(VFNMS(LDK(KP433883739), TK, VFNMS(LDK(KP974927912), TL, VMUL(LDK(KP781831482), TJ))));
TI = VFMA(LDK(KP623489801), TB, VFNMS(LDK(KP900968867), TH, VFNMS(LDK(KP222520933), TE, Ty)));
ST(&(xo[12]), VSUB(TI, TM), ovs, &(xo[0]));
ST(&(xo[16]), VADD(TI, TM), ovs, &(xo[0]));
}
{
//.........这里部分代码省略.........
示例5: n1bv_7
static void n1bv_7(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
{
DVK(KP900968867, +0.900968867902419126236102319507445051165919162);
DVK(KP692021471, +0.692021471630095869627814897002069140197260599);
DVK(KP801937735, +0.801937735804838252472204639014890102331838324);
DVK(KP974927912, +0.974927912181823607018131682993931217232785801);
DVK(KP356895867, +0.356895867892209443894399510021300583399127187);
DVK(KP554958132, +0.554958132087371191422194871006410481067288862);
{
INT i;
const R *xi;
R *xo;
xi = ii;
xo = io;
for (i = v; i > 0; i = i - VL, xi = xi + (VL * ivs), xo = xo + (VL * ovs), MAKE_VOLATILE_STRIDE(14, is), MAKE_VOLATILE_STRIDE(14, os)) {
V T1, T2, T3, T8, T9, T5, T6;
T1 = LD(&(xi[0]), ivs, &(xi[0]));
T2 = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
T3 = LD(&(xi[WS(is, 6)]), ivs, &(xi[0]));
T8 = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
T9 = LD(&(xi[WS(is, 4)]), ivs, &(xi[0]));
T5 = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
T6 = LD(&(xi[WS(is, 5)]), ivs, &(xi[WS(is, 1)]));
{
V Tg, T4, Te, Ta, Tf, T7;
Tg = VSUB(T2, T3);
T4 = VADD(T2, T3);
Te = VSUB(T8, T9);
Ta = VADD(T8, T9);
Tf = VSUB(T5, T6);
T7 = VADD(T5, T6);
{
V Tr, Tj, Tm, Th, To, Tb;
Tr = VFMA(LDK(KP554958132), Te, Tg);
Tj = VFNMS(LDK(KP356895867), T4, Ta);
Tm = VFMA(LDK(KP554958132), Tf, Te);
Th = VFNMS(LDK(KP554958132), Tg, Tf);
ST(&(xo[0]), VADD(T1, VADD(T4, VADD(T7, Ta))), ovs, &(xo[0]));
To = VFNMS(LDK(KP356895867), T7, T4);
Tb = VFNMS(LDK(KP356895867), Ta, T7);
{
V Ts, Tk, Tn, Ti;
Ts = VMUL(LDK(KP974927912), VFMA(LDK(KP801937735), Tr, Tf));
Tk = VFNMS(LDK(KP692021471), Tj, T7);
Tn = VMUL(LDK(KP974927912), VFNMS(LDK(KP801937735), Tm, Tg));
Ti = VMUL(LDK(KP974927912), VFNMS(LDK(KP801937735), Th, Te));
{
V Tp, Tc, Tl, Tq, Td;
Tp = VFNMS(LDK(KP692021471), To, Ta);
Tc = VFNMS(LDK(KP692021471), Tb, T4);
Tl = VFNMS(LDK(KP900968867), Tk, T1);
Tq = VFNMS(LDK(KP900968867), Tp, T1);
Td = VFNMS(LDK(KP900968867), Tc, T1);
ST(&(xo[WS(os, 5)]), VFNMSI(Tn, Tl), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 2)]), VFMAI(Tn, Tl), ovs, &(xo[0]));
ST(&(xo[WS(os, 6)]), VFNMSI(Ts, Tq), ovs, &(xo[0]));
ST(&(xo[WS(os, 1)]), VFMAI(Ts, Tq), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 4)]), VFNMSI(Ti, Td), ovs, &(xo[0]));
ST(&(xo[WS(os, 3)]), VFMAI(Ti, Td), ovs, &(xo[WS(os, 1)]));
}
}
}
}
}
}
VLEAVE();
}
示例6: m2bv_64_0
//.........这里部分代码省略.........
T3a = VADD(T18, T1f);
T3b = VADD(T39, T3a);
T3V = VSUB(T39, T3a);
T4U = VMUL(LDK(KP707106781), VSUB(T4Q, T4T));
T4X = VSUB(T4V, T4W);
T4Y = VSUB(T4U, T4X);
T5O = VADD(T4X, T4U);
}
{
V T51, T52, T3c, T3d;
T51 = VSUB(T4Z, T50);
T52 = VMUL(LDK(KP707106781), VADD(T4Q, T4T));
T53 = VSUB(T51, T52);
T5P = VADD(T51, T52);
T3c = VADD(T1q, T1n);
T3d = VADD(T1y, T1z);
T3e = VADD(T3c, T3d);
T3W = VSUB(T3d, T3c);
}
}
{
V T7h, T7l, T7k, T7m;
{
V T7f, T7g, T7i, T7j;
T7f = VADD(T78, T79);
T7g = VADD(T74, T75);
T7h = VSUB(T7f, T7g);
T7l = VADD(T7f, T7g);
T7i = VADD(T6X, T6Y);
T7j = VADD(T70, T71);
T7k = VBYI(VSUB(T7i, T7j));
T7m = VADD(T7i, T7j);
}
ST(&(xo[96]), VSUB(T7h, T7k), ovs, &(xo[0]));
ST(&(xo[0]), VADD(T7l, T7m), ovs, &(xo[0]));
ST(&(xo[32]), VADD(T7h, T7k), ovs, &(xo[0]));
ST(&(xo[64]), VSUB(T7l, T7m), ovs, &(xo[0]));
}
{
V T76, T7a, T73, T7b, T6Z, T72;
T76 = VSUB(T74, T75);
T7a = VSUB(T78, T79);
T6Z = VSUB(T6X, T6Y);
T72 = VSUB(T70, T71);
T73 = VMUL(LDK(KP707106781), VSUB(T6Z, T72));
T7b = VMUL(LDK(KP707106781), VADD(T6Z, T72));
{
V T77, T7c, T7d, T7e;
T77 = VBYI(VSUB(T73, T76));
T7c = VSUB(T7a, T7b);
ST(&(xo[48]), VADD(T77, T7c), ovs, &(xo[0]));
ST(&(xo[80]), VSUB(T7c, T77), ovs, &(xo[0]));
T7d = VBYI(VADD(T76, T73));
T7e = VADD(T7a, T7b);
ST(&(xo[16]), VADD(T7d, T7e), ovs, &(xo[0]));
ST(&(xo[112]), VSUB(T7e, T7d), ovs, &(xo[0]));
}
}
{
V T6C, T6S, T6I, T6P, T6r, T6Q, T6L, T6T, T6y, T6H;
T6y = VMUL(LDK(KP707106781), VSUB(T6u, T6x));
T6C = VSUB(T6y, T6B);
T6S = VADD(T6B, T6y);
T6H = VMUL(LDK(KP707106781), VADD(T6u, T6x));
T6I = VSUB(T6G, T6H);
T6P = VADD(T6G, T6H);
示例7: t1fuv_10
static void t1fuv_10(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
{
DVK(KP587785252, +0.587785252292473129168705954639072768597652438);
DVK(KP951056516, +0.951056516295153572116439333379382143405698634);
DVK(KP250000000, +0.250000000000000000000000000000000000000000000);
DVK(KP559016994, +0.559016994374947424102293417182819058860154590);
{
INT m;
R *x;
x = ri;
for (m = mb, W = W + (mb * ((TWVL / VL) * 18)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 18), MAKE_VOLATILE_STRIDE(rs)) {
V Tr, TH, Tg, Tl, Tm, TA, TB, TJ, T5, Ta, Tb, TD, TE, TI, To;
V Tq, Tp;
To = LD(&(x[0]), ms, &(x[0]));
Tp = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
Tq = BYTWJ(&(W[TWVL * 8]), Tp);
Tr = VSUB(To, Tq);
TH = VADD(To, Tq);
{
V Td, Tk, Tf, Ti;
{
V Tc, Tj, Te, Th;
Tc = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
Td = BYTWJ(&(W[TWVL * 6]), Tc);
Tj = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
Tk = BYTWJ(&(W[0]), Tj);
Te = LD(&(x[WS(rs, 9)]), ms, &(x[WS(rs, 1)]));
Tf = BYTWJ(&(W[TWVL * 16]), Te);
Th = LD(&(x[WS(rs, 6)]), ms, &(x[0]));
Ti = BYTWJ(&(W[TWVL * 10]), Th);
}
Tg = VSUB(Td, Tf);
Tl = VSUB(Ti, Tk);
Tm = VADD(Tg, Tl);
TA = VADD(Td, Tf);
TB = VADD(Ti, Tk);
TJ = VADD(TA, TB);
}
{
V T2, T9, T4, T7;
{
V T1, T8, T3, T6;
T1 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
T2 = BYTWJ(&(W[TWVL * 2]), T1);
T8 = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
T9 = BYTWJ(&(W[TWVL * 4]), T8);
T3 = LD(&(x[WS(rs, 7)]), ms, &(x[WS(rs, 1)]));
T4 = BYTWJ(&(W[TWVL * 12]), T3);
T6 = LD(&(x[WS(rs, 8)]), ms, &(x[0]));
T7 = BYTWJ(&(W[TWVL * 14]), T6);
}
T5 = VSUB(T2, T4);
Ta = VSUB(T7, T9);
Tb = VADD(T5, Ta);
TD = VADD(T2, T4);
TE = VADD(T7, T9);
TI = VADD(TD, TE);
}
{
V Tn, Ts, Tt, Tx, Tz, Tv, Tw, Ty, Tu;
Tn = VMUL(LDK(KP559016994), VSUB(Tb, Tm));
Ts = VADD(Tb, Tm);
Tt = VFNMS(LDK(KP250000000), Ts, Tr);
Tv = VSUB(T5, Ta);
Tw = VSUB(Tg, Tl);
Tx = VBYI(VFMA(LDK(KP951056516), Tv, VMUL(LDK(KP587785252), Tw)));
Tz = VBYI(VFNMS(LDK(KP587785252), Tv, VMUL(LDK(KP951056516), Tw)));
ST(&(x[WS(rs, 5)]), VADD(Tr, Ts), ms, &(x[WS(rs, 1)]));
Ty = VSUB(Tt, Tn);
ST(&(x[WS(rs, 3)]), VSUB(Ty, Tz), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 7)]), VADD(Tz, Ty), ms, &(x[WS(rs, 1)]));
Tu = VADD(Tn, Tt);
ST(&(x[WS(rs, 1)]), VSUB(Tu, Tx), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 9)]), VADD(Tx, Tu), ms, &(x[WS(rs, 1)]));
}
{
V TM, TK, TL, TG, TO, TC, TF, TP, TN;
TM = VMUL(LDK(KP559016994), VSUB(TI, TJ));
TK = VADD(TI, TJ);
TL = VFNMS(LDK(KP250000000), TK, TH);
TC = VSUB(TA, TB);
TF = VSUB(TD, TE);
TG = VBYI(VFNMS(LDK(KP587785252), TF, VMUL(LDK(KP951056516), TC)));
TO = VBYI(VFMA(LDK(KP951056516), TF, VMUL(LDK(KP587785252), TC)));
ST(&(x[0]), VADD(TH, TK), ms, &(x[0]));
TP = VADD(TM, TL);
ST(&(x[WS(rs, 4)]), VADD(TO, TP), ms, &(x[0]));
ST(&(x[WS(rs, 6)]), VSUB(TP, TO), ms, &(x[0]));
TN = VSUB(TL, TM);
ST(&(x[WS(rs, 2)]), VADD(TG, TN), ms, &(x[0]));
ST(&(x[WS(rs, 8)]), VSUB(TN, TG), ms, &(x[0]));
}
}
}
VLEAVE();
}
示例8: n1fv_13
static void n1fv_13(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
{
DVK(KP904176221, +0.904176221990848204433795481776887926501523162);
DVK(KP575140729, +0.575140729474003121368385547455453388461001608);
DVK(KP300462606, +0.300462606288665774426601772289207995520941381);
DVK(KP516520780, +0.516520780623489722840901288569017135705033622);
DVK(KP522026385, +0.522026385161275033714027226654165028300441940);
DVK(KP957805992, +0.957805992594665126462521754605754580515587217);
DVK(KP600477271, +0.600477271932665282925769253334763009352012849);
DVK(KP251768516, +0.251768516431883313623436926934233488546674281);
DVK(KP503537032, +0.503537032863766627246873853868466977093348562);
DVK(KP769338817, +0.769338817572980603471413688209101117038278899);
DVK(KP859542535, +0.859542535098774820163672132761689612766401925);
DVK(KP581704778, +0.581704778510515730456870384989698884939833902);
DVK(KP853480001, +0.853480001859823990758994934970528322872359049);
DVK(KP083333333, +0.083333333333333333333333333333333333333333333);
DVK(KP226109445, +0.226109445035782405468510155372505010481906348);
DVK(KP301479260, +0.301479260047709873958013540496673347309208464);
DVK(KP686558370, +0.686558370781754340655719594850823015421401653);
DVK(KP514918778, +0.514918778086315755491789696138117261566051239);
DVK(KP038632954, +0.038632954644348171955506895830342264440241080);
DVK(KP612264650, +0.612264650376756543746494474777125408779395514);
DVK(KP302775637, +0.302775637731994646559610633735247973125648287);
DVK(KP866025403, +0.866025403784438646763723170752936183471402627);
DVK(KP500000000, +0.500000000000000000000000000000000000000000000);
{
INT i;
const R *xi;
R *xo;
xi = ri;
xo = ro;
for (i = v; i > 0; i = i - VL, xi = xi + (VL * ivs), xo = xo + (VL * ovs), MAKE_VOLATILE_STRIDE(is), MAKE_VOLATILE_STRIDE(os)) {
V T1, T7, T2, Tg, Tf, TN, Th, Tq, Ta, Tj, T5, Tr, Tk;
T1 = LD(&(xi[0]), ivs, &(xi[0]));
{
V Td, Te, T8, T9, T3, T4;
Td = LD(&(xi[WS(is, 8)]), ivs, &(xi[0]));
Te = LD(&(xi[WS(is, 5)]), ivs, &(xi[WS(is, 1)]));
T7 = LD(&(xi[WS(is, 12)]), ivs, &(xi[0]));
T8 = LD(&(xi[WS(is, 10)]), ivs, &(xi[0]));
T9 = LD(&(xi[WS(is, 4)]), ivs, &(xi[0]));
T2 = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
T3 = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
T4 = LD(&(xi[WS(is, 9)]), ivs, &(xi[WS(is, 1)]));
Tg = LD(&(xi[WS(is, 11)]), ivs, &(xi[WS(is, 1)]));
Tf = VADD(Td, Te);
TN = VSUB(Td, Te);
Th = LD(&(xi[WS(is, 6)]), ivs, &(xi[0]));
Tq = VSUB(T8, T9);
Ta = VADD(T8, T9);
Tj = LD(&(xi[WS(is, 7)]), ivs, &(xi[WS(is, 1)]));
T5 = VADD(T3, T4);
Tr = VSUB(T4, T3);
Tk = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
}
{
V Tt, Ti, Ty, Tb, Ts, TQ, Tx, T6, Tu, Tl;
Tt = VSUB(Tg, Th);
Ti = VADD(Tg, Th);
Ty = VFMS(LDK(KP500000000), Ta, T7);
Tb = VADD(T7, Ta);
Ts = VSUB(Tq, Tr);
TQ = VADD(Tr, Tq);
Tx = VFNMS(LDK(KP500000000), T5, T2);
T6 = VADD(T2, T5);
Tu = VSUB(Tj, Tk);
Tl = VADD(Tj, Tk);
{
V TK, Tz, Tc, TX, Tv, TO, TL, Tm;
TK = VADD(Tx, Ty);
Tz = VSUB(Tx, Ty);
Tc = VADD(T6, Tb);
TX = VSUB(T6, Tb);
Tv = VSUB(Tt, Tu);
TO = VADD(Tt, Tu);
TL = VSUB(Ti, Tl);
Tm = VADD(Ti, Tl);
{
V TF, Tw, TP, TY, TT, TM, TA, Tn;
TF = VSUB(Ts, Tv);
Tw = VADD(Ts, Tv);
TP = VFNMS(LDK(KP500000000), TO, TN);
TY = VADD(TN, TO);
TT = VFNMS(LDK(KP866025403), TL, TK);
TM = VFMA(LDK(KP866025403), TL, TK);
TA = VFNMS(LDK(KP500000000), Tm, Tf);
Tn = VADD(Tf, Tm);
{
V T1f, T1n, TI, T18, T1k, T1c, TD, T17, T10, T1m, T16, T1e, TU, TR;
TU = VFNMS(LDK(KP866025403), TQ, TP);
TR = VFMA(LDK(KP866025403), TQ, TP);
{
V TZ, T15, TE, TB;
TZ = VFMA(LDK(KP302775637), TY, TX);
T15 = VFNMS(LDK(KP302775637), TX, TY);
TE = VSUB(Tz, TA);
TB = VADD(Tz, TA);
{
V TH, To, TV, T13;
TH = VSUB(Tc, Tn);
//.........这里部分代码省略.........
示例9: input
void input(FILE *fd, void (*cb)(struct message *), struct message *p)
{
int c;
#define ST(X) do { p->status = (X); } while(0)
#define MK(X) do { p->X = p->p; } while(0)
#define RST() do { \
ST(AT_BOM); \
p->p = p->buffer; \
p->sz = p->argc = 0; \
p->org = p->cmd = NULL; \
} while (0)
#define ADDCH(X) do { \
*p->p++ = X; p->sz++; \
if (p->sz >= (sizeof p->buffer)-1) \
RST(); \
} while (0)
#define ADDARG(s) do { \
assert(p->argc < MAX_ARGS); \
p->argv[p->argc] = s; \
if (s) p->argc++; \
} while (0)
RST();
while ((c = fgetc(fd)) != EOF) {
switch (p->status) {
case AT_BOM:
switch (c) {
case ':': ST(IN_ORG); MK(org); break;
case ' ': break; /* ignored */
case '\r': ST(IN_EOL); break;
case '\n': RST(); break;
default: ST(IN_CMD); MK(cmd); ADDCH(c); break;
} break;
case IN_ORG:
switch(c) {
case ' ': ST(IN_SPC0); ADDCH(0); break;
case '\r': ST(IN_EOL); ADDCH(0); break;
case '\n': RST(); break;
case ':': /* NO BREAK HERE, valid char */
default: ADDCH(c); break;
} break;
case IN_SPC0:
switch(c) {
case ' ': break; /* ignore extra */
case '\r': ST(IN_EOL); break;
case '\n': RST(); break;
default: ST(IN_CMD); MK(cmd); ADDCH(c); break;
} break;
case IN_CMD:
switch(c) {
case ' ': ST(IN_SPC1); ADDCH(0); break;
case '\r': ST(IN_EOL); ADDCH(0); break;
case '\n': ADDARG(NULL); cb(p); RST(); break;
case ':': /* NO BREAK HERE, valid char */
default: ADDCH(c); break;
} break;
case IN_SPC1:
switch(c) {
case ' ': break; /* ignore */
case '\r': ST(IN_EOL); break;
case '\n': ADDARG(NULL); cb(p); RST(); break;
case ':': ST(IN_ARGN); ADDARG(p->p); break;
default: ST(IN_ARG); ADDARG(p->p); ADDCH(c); break;
} break;
case IN_ARG:
switch (c) {
case ' ': ST(IN_SPC1); ADDCH(0); break;
case '\r': ST(IN_EOL); ADDCH(0); break;
case '\n': ADDARG(NULL); cb(p); RST(); break;
case ':':
default: ADDCH(c); break;
} break;
case IN_ARGN:
switch (c) {
case '\r': ST(IN_EOL); ADDCH(0); break;
case '\n': ADDARG(NULL); cb(p); RST(); break;
default: ADDCH(c); break;
} break;
case IN_EOL:
switch (c) {
case '\r': break;
case '\n': ADDARG(NULL); cb(p); RST(); break;
case ':': RST(); ST(IN_ORG); break;
default: RST(); break;
} break;
} /* switch */
} /* while */
} /* input */
示例10: n1fv_32
static void n1fv_32(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
{
DVK(KP195090322, +0.195090322016128267848284868477022240927691618);
DVK(KP980785280, +0.980785280403230449126182236134239036973933731);
DVK(KP555570233, +0.555570233019602224742830813948532874374937191);
DVK(KP831469612, +0.831469612302545237078788377617905756738560812);
DVK(KP382683432, +0.382683432365089771728459984030398866761344562);
DVK(KP923879532, +0.923879532511286756128183189396788286822416626);
DVK(KP707106781, +0.707106781186547524400844362104849039284835938);
{
INT i;
const R *xi;
R *xo;
xi = ri;
xo = ro;
for (i = v; i > 0; i = i - VL, xi = xi + (VL * ivs), xo = xo + (VL * ovs), MAKE_VOLATILE_STRIDE(64, is), MAKE_VOLATILE_STRIDE(64, os)) {
V T1T, T1W, T2K, T2x, T16, T1A, Tb, T1p, TT, T1v, TY, T1w, T27, T2a, T2b;
V T2H, T2O, TC, T1s, TH, T1t, T20, T23, T24, T2E, T2N, T2g, T2j, Tq, T1B;
V T19, T1q, T2A, T2L;
{
V T3, T1R, T15, T1S, T6, T1U, T9, T1V, T12, Ta;
{
V T1, T2, T13, T14;
T1 = LD(&(xi[0]), ivs, &(xi[0]));
T2 = LD(&(xi[WS(is, 16)]), ivs, &(xi[0]));
T3 = VSUB(T1, T2);
T1R = VADD(T1, T2);
T13 = LD(&(xi[WS(is, 8)]), ivs, &(xi[0]));
T14 = LD(&(xi[WS(is, 24)]), ivs, &(xi[0]));
T15 = VSUB(T13, T14);
T1S = VADD(T13, T14);
}
{
V T4, T5, T7, T8;
T4 = LD(&(xi[WS(is, 4)]), ivs, &(xi[0]));
T5 = LD(&(xi[WS(is, 20)]), ivs, &(xi[0]));
T6 = VSUB(T4, T5);
T1U = VADD(T4, T5);
T7 = LD(&(xi[WS(is, 28)]), ivs, &(xi[0]));
T8 = LD(&(xi[WS(is, 12)]), ivs, &(xi[0]));
T9 = VSUB(T7, T8);
T1V = VADD(T7, T8);
}
T1T = VADD(T1R, T1S);
T1W = VADD(T1U, T1V);
T2K = VSUB(T1V, T1U);
T2x = VSUB(T1R, T1S);
T12 = VMUL(LDK(KP707106781), VSUB(T9, T6));
T16 = VSUB(T12, T15);
T1A = VADD(T15, T12);
Ta = VMUL(LDK(KP707106781), VADD(T6, T9));
Tb = VADD(T3, Ta);
T1p = VSUB(T3, Ta);
}
{
V TL, T25, TX, T26, TO, T28, TR, T29;
{
V TJ, TK, TV, TW;
TJ = LD(&(xi[WS(is, 31)]), ivs, &(xi[WS(is, 1)]));
TK = LD(&(xi[WS(is, 15)]), ivs, &(xi[WS(is, 1)]));
TL = VSUB(TJ, TK);
T25 = VADD(TJ, TK);
TV = LD(&(xi[WS(is, 7)]), ivs, &(xi[WS(is, 1)]));
TW = LD(&(xi[WS(is, 23)]), ivs, &(xi[WS(is, 1)]));
TX = VSUB(TV, TW);
T26 = VADD(TV, TW);
}
{
V TM, TN, TP, TQ;
TM = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
TN = LD(&(xi[WS(is, 19)]), ivs, &(xi[WS(is, 1)]));
TO = VSUB(TM, TN);
T28 = VADD(TM, TN);
TP = LD(&(xi[WS(is, 27)]), ivs, &(xi[WS(is, 1)]));
TQ = LD(&(xi[WS(is, 11)]), ivs, &(xi[WS(is, 1)]));
TR = VSUB(TP, TQ);
T29 = VADD(TP, TQ);
}
{
V TS, TU, T2F, T2G;
TS = VMUL(LDK(KP707106781), VADD(TO, TR));
TT = VADD(TL, TS);
T1v = VSUB(TL, TS);
TU = VMUL(LDK(KP707106781), VSUB(TR, TO));
TY = VSUB(TU, TX);
T1w = VADD(TX, TU);
T27 = VADD(T25, T26);
T2a = VADD(T28, T29);
T2b = VSUB(T27, T2a);
T2F = VSUB(T25, T26);
T2G = VSUB(T29, T28);
T2H = VFNMS(LDK(KP382683432), T2G, VMUL(LDK(KP923879532), T2F));
T2O = VFMA(LDK(KP382683432), T2F, VMUL(LDK(KP923879532), T2G));
}
}
{
V Tu, T1Y, TG, T1Z, Tx, T21, TA, T22;
{
V Ts, Tt, TE, TF;
Ts = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
//.........这里部分代码省略.........
示例11: q1fv_4
static void q1fv_4(R *ri, R *ii, const R *W, stride rs, stride vs, INT mb, INT me, INT ms)
{
INT m;
R *x;
x = ri;
for (m = mb, W = W + (mb * ((TWVL / VL) * 6)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 6), MAKE_VOLATILE_STRIDE(rs), MAKE_VOLATILE_STRIDE(vs)) {
V Tb, Tm, Tx, TI;
{
V Tc, T9, T3, TG, TA, TH, TD, Ta, T6, Td, Tn, To, Tq, Tr, Tf;
V Tg;
{
V T1, T2, Ty, Tz, TB, TC, T4, T5;
T1 = LD(&(x[0]), ms, &(x[0]));
T2 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
Ty = LD(&(x[WS(vs, 3)]), ms, &(x[WS(vs, 3)]));
Tz = LD(&(x[WS(vs, 3) + WS(rs, 2)]), ms, &(x[WS(vs, 3)]));
TB = LD(&(x[WS(vs, 3) + WS(rs, 1)]), ms, &(x[WS(vs, 3) + WS(rs, 1)]));
TC = LD(&(x[WS(vs, 3) + WS(rs, 3)]), ms, &(x[WS(vs, 3) + WS(rs, 1)]));
T4 = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
T5 = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
Tc = LD(&(x[WS(vs, 1)]), ms, &(x[WS(vs, 1)]));
T9 = VADD(T1, T2);
T3 = VSUB(T1, T2);
TG = VADD(Ty, Tz);
TA = VSUB(Ty, Tz);
TH = VADD(TB, TC);
TD = VSUB(TB, TC);
Ta = VADD(T4, T5);
T6 = VSUB(T4, T5);
Td = LD(&(x[WS(vs, 1) + WS(rs, 2)]), ms, &(x[WS(vs, 1)]));
Tn = LD(&(x[WS(vs, 2)]), ms, &(x[WS(vs, 2)]));
To = LD(&(x[WS(vs, 2) + WS(rs, 2)]), ms, &(x[WS(vs, 2)]));
Tq = LD(&(x[WS(vs, 2) + WS(rs, 1)]), ms, &(x[WS(vs, 2) + WS(rs, 1)]));
Tr = LD(&(x[WS(vs, 2) + WS(rs, 3)]), ms, &(x[WS(vs, 2) + WS(rs, 1)]));
Tf = LD(&(x[WS(vs, 1) + WS(rs, 1)]), ms, &(x[WS(vs, 1) + WS(rs, 1)]));
Tg = LD(&(x[WS(vs, 1) + WS(rs, 3)]), ms, &(x[WS(vs, 1) + WS(rs, 1)]));
}
{
V Tk, Te, Tv, Tp, Tw, Ts, Tl, Th, T7, TE, Tu, TF;
ST(&(x[0]), VADD(T9, Ta), ms, &(x[0]));
Tk = VADD(Tc, Td);
Te = VSUB(Tc, Td);
Tv = VADD(Tn, To);
Tp = VSUB(Tn, To);
Tw = VADD(Tq, Tr);
Ts = VSUB(Tq, Tr);
Tl = VADD(Tf, Tg);
Th = VSUB(Tf, Tg);
ST(&(x[WS(rs, 3)]), VADD(TG, TH), ms, &(x[WS(rs, 1)]));
T7 = BYTWJ(&(W[0]), VFNMSI(T6, T3));
TE = BYTWJ(&(W[0]), VFNMSI(TD, TA));
{
V Tt, Ti, Tj, T8;
T8 = BYTWJ(&(W[TWVL * 4]), VFMAI(T6, T3));
ST(&(x[WS(rs, 2)]), VADD(Tv, Tw), ms, &(x[0]));
Tt = BYTWJ(&(W[0]), VFNMSI(Ts, Tp));
ST(&(x[WS(rs, 1)]), VADD(Tk, Tl), ms, &(x[WS(rs, 1)]));
Ti = BYTWJ(&(W[0]), VFNMSI(Th, Te));
Tj = BYTWJ(&(W[TWVL * 4]), VFMAI(Th, Te));
ST(&(x[WS(vs, 1)]), T7, ms, &(x[WS(vs, 1)]));
ST(&(x[WS(vs, 1) + WS(rs, 3)]), TE, ms, &(x[WS(vs, 1) + WS(rs, 1)]));
ST(&(x[WS(vs, 3)]), T8, ms, &(x[WS(vs, 3)]));
Tu = BYTWJ(&(W[TWVL * 4]), VFMAI(Ts, Tp));
ST(&(x[WS(vs, 1) + WS(rs, 2)]), Tt, ms, &(x[WS(vs, 1)]));
TF = BYTWJ(&(W[TWVL * 4]), VFMAI(TD, TA));
ST(&(x[WS(vs, 1) + WS(rs, 1)]), Ti, ms, &(x[WS(vs, 1) + WS(rs, 1)]));
ST(&(x[WS(vs, 3) + WS(rs, 1)]), Tj, ms, &(x[WS(vs, 3) + WS(rs, 1)]));
}
Tb = BYTWJ(&(W[TWVL * 2]), VSUB(T9, Ta));
Tm = BYTWJ(&(W[TWVL * 2]), VSUB(Tk, Tl));
Tx = BYTWJ(&(W[TWVL * 2]), VSUB(Tv, Tw));
ST(&(x[WS(vs, 3) + WS(rs, 2)]), Tu, ms, &(x[WS(vs, 3)]));
TI = BYTWJ(&(W[TWVL * 2]), VSUB(TG, TH));
ST(&(x[WS(vs, 3) + WS(rs, 3)]), TF, ms, &(x[WS(vs, 3) + WS(rs, 1)]));
}
}
ST(&(x[WS(vs, 2)]), Tb, ms, &(x[WS(vs, 2)]));
ST(&(x[WS(vs, 2) + WS(rs, 1)]), Tm, ms, &(x[WS(vs, 2) + WS(rs, 1)]));
ST(&(x[WS(vs, 2) + WS(rs, 2)]), Tx, ms, &(x[WS(vs, 2)]));
ST(&(x[WS(vs, 2) + WS(rs, 3)]), TI, ms, &(x[WS(vs, 2) + WS(rs, 1)]));
}
}
示例12: t1bv_9
static void t1bv_9(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
{
DVK(KP939692620, +0.939692620785908384054109277324731469936208134);
DVK(KP907603734, +0.907603734547952313649323976213898122064543220);
DVK(KP666666666, +0.666666666666666666666666666666666666666666667);
DVK(KP852868531, +0.852868531952443209628250963940074071936020296);
DVK(KP879385241, +0.879385241571816768108218554649462939872416269);
DVK(KP984807753, +0.984807753012208059366743024589523013670643252);
DVK(KP826351822, +0.826351822333069651148283373230685203999624323);
DVK(KP347296355, +0.347296355333860697703433253538629592000751354);
DVK(KP898197570, +0.898197570222573798468955502359086394667167570);
DVK(KP673648177, +0.673648177666930348851716626769314796000375677);
DVK(KP420276625, +0.420276625461206169731530603237061658838781920);
DVK(KP866025403, +0.866025403784438646763723170752936183471402627);
DVK(KP586256827, +0.586256827714544512072145703099641959914944179);
DVK(KP968908795, +0.968908795874236621082202410917456709164223497);
DVK(KP726681596, +0.726681596905677465811651808188092531873167623);
DVK(KP439692620, +0.439692620785908384054109277324731469936208134);
DVK(KP203604859, +0.203604859554852403062088995281827210665664861);
DVK(KP152703644, +0.152703644666139302296566746461370407999248646);
DVK(KP500000000, +0.500000000000000000000000000000000000000000000);
INT m;
R *x;
x = ii;
for (m = mb, W = W + (mb * ((TWVL / VL) * 16)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 16), MAKE_VOLATILE_STRIDE(rs)) {
V T1, T3, T5, T9, Tn, Tb, Td, Th, Tj, Tx, T6;
T1 = LD(&(x[0]), ms, &(x[0]));
{
V T2, T4, T8, Tm;
T2 = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
T4 = LD(&(x[WS(rs, 6)]), ms, &(x[0]));
T8 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
Tm = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
{
V Ta, Tc, Tg, Ti;
Ta = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
Tc = LD(&(x[WS(rs, 8)]), ms, &(x[0]));
Tg = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
Ti = LD(&(x[WS(rs, 7)]), ms, &(x[WS(rs, 1)]));
T3 = BYTW(&(W[TWVL * 4]), T2);
T5 = BYTW(&(W[TWVL * 10]), T4);
T9 = BYTW(&(W[TWVL * 2]), T8);
Tn = BYTW(&(W[0]), Tm);
Tb = BYTW(&(W[TWVL * 8]), Ta);
Td = BYTW(&(W[TWVL * 14]), Tc);
Th = BYTW(&(W[TWVL * 6]), Tg);
Tj = BYTW(&(W[TWVL * 12]), Ti);
}
}
Tx = VSUB(T3, T5);
T6 = VADD(T3, T5);
{
V Tl, Te, Tk, To, T7, TN;
Tl = VSUB(Td, Tb);
Te = VADD(Tb, Td);
Tk = VSUB(Th, Tj);
To = VADD(Th, Tj);
T7 = VFNMS(LDK(KP500000000), T6, T1);
TN = VADD(T1, T6);
{
V Tf, TP, Tp, TO;
Tf = VFNMS(LDK(KP500000000), Te, T9);
TP = VADD(T9, Te);
Tp = VFNMS(LDK(KP500000000), To, Tn);
TO = VADD(Tn, To);
{
V Tz, TC, Tu, TD, TA, Tq, TQ, TS;
Tz = VFNMS(LDK(KP152703644), Tl, Tf);
TC = VFMA(LDK(KP203604859), Tf, Tl);
Tu = VFNMS(LDK(KP439692620), Tk, Tf);
TD = VFNMS(LDK(KP726681596), Tk, Tp);
TA = VFMA(LDK(KP968908795), Tp, Tk);
Tq = VFNMS(LDK(KP586256827), Tp, Tl);
TQ = VADD(TO, TP);
TS = VMUL(LDK(KP866025403), VSUB(TO, TP));
{
V TI, TB, TH, TE, Tr, TR, Tw, Tv;
Tv = VFNMS(LDK(KP420276625), Tu, Tl);
TI = VFMA(LDK(KP673648177), TA, Tz);
TB = VFNMS(LDK(KP673648177), TA, Tz);
TH = VFNMS(LDK(KP898197570), TD, TC);
TE = VFMA(LDK(KP898197570), TD, TC);
Tr = VFNMS(LDK(KP347296355), Tq, Tk);
ST(&(x[0]), VADD(TQ, TN), ms, &(x[0]));
TR = VFNMS(LDK(KP500000000), TQ, TN);
Tw = VFNMS(LDK(KP826351822), Tv, Tp);
{
V TM, TL, TF, TJ, Ts, Ty, TG, TK, Tt;
TM = VMUL(LDK(KP984807753), VFMA(LDK(KP879385241), Tx, TI));
TL = VFMA(LDK(KP852868531), TE, T7);
TF = VFNMS(LDK(KP500000000), TE, TB);
TJ = VFMA(LDK(KP666666666), TI, TH);
Ts = VFNMS(LDK(KP907603734), Tr, Tf);
ST(&(x[WS(rs, 6)]), VFNMSI(TS, TR), ms, &(x[0]));
ST(&(x[WS(rs, 3)]), VFMAI(TS, TR), ms, &(x[WS(rs, 1)]));
Ty = VMUL(LDK(KP984807753), VFNMS(LDK(KP879385241), Tx, Tw));
ST(&(x[WS(rs, 8)]), VFNMSI(TM, TL), ms, &(x[0]));
ST(&(x[WS(rs, 1)]), VFMAI(TM, TL), ms, &(x[WS(rs, 1)]));
TG = VFMA(LDK(KP852868531), TF, T7);
TK = VMUL(LDK(KP866025403), VFNMS(LDK(KP852868531), TJ, Tx));
//.........这里部分代码省略.........
示例13: n1bv_25
static void n1bv_25(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
{
DVK(KP792626838, +0.792626838241819413632131824093538848057784557);
DVK(KP876091699, +0.876091699473550838204498029706869638173524346);
DVK(KP803003575, +0.803003575438660414833440593570376004635464850);
DVK(KP617882369, +0.617882369114440893914546919006756321695042882);
DVK(KP242145790, +0.242145790282157779872542093866183953459003101);
DVK(KP968583161, +0.968583161128631119490168375464735813836012403);
DVK(KP999544308, +0.999544308746292983948881682379742149196758193);
DVK(KP683113946, +0.683113946453479238701949862233725244439656928);
DVK(KP559154169, +0.559154169276087864842202529084232643714075927);
DVK(KP904730450, +0.904730450839922351881287709692877908104763647);
DVK(KP829049696, +0.829049696159252993975487806364305442437946767);
DVK(KP831864738, +0.831864738706457140726048799369896829771167132);
DVK(KP916574801, +0.916574801383451584742370439148878693530976769);
DVK(KP894834959, +0.894834959464455102997960030820114611498661386);
DVK(KP809385824, +0.809385824416008241660603814668679683846476688);
DVK(KP447417479, +0.447417479732227551498980015410057305749330693);
DVK(KP860541664, +0.860541664367944677098261680920518816412804187);
DVK(KP897376177, +0.897376177523557693138608077137219684419427330);
DVK(KP876306680, +0.876306680043863587308115903922062583399064238);
DVK(KP681693190, +0.681693190061530575150324149145440022633095390);
DVK(KP560319534, +0.560319534973832390111614715371676131169633784);
DVK(KP855719849, +0.855719849902058969314654733608091555096772472);
DVK(KP237294955, +0.237294955877110315393888866460840817927895961);
DVK(KP949179823, +0.949179823508441261575555465843363271711583843);
DVK(KP904508497, +0.904508497187473712051146708591409529430077295);
DVK(KP997675361, +0.997675361079556513670859573984492383596555031);
DVK(KP262346850, +0.262346850930607871785420028382979691334784273);
DVK(KP763932022, +0.763932022500210303590826331268723764559381640);
DVK(KP992114701, +0.992114701314477831049793042785778521453036709);
DVK(KP690983005, +0.690983005625052575897706582817180941139845410);
DVK(KP952936919, +0.952936919628306576880750665357914584765951388);
DVK(KP998026728, +0.998026728428271561952336806863450553336905220);
DVK(KP570584518, +0.570584518783621657366766175430996792655723863);
DVK(KP669429328, +0.669429328479476605641803240971985825917022098);
DVK(KP923225144, +0.923225144846402650453449441572664695995209956);
DVK(KP906616052, +0.906616052148196230441134447086066874408359177);
DVK(KP956723877, +0.956723877038460305821989399535483155872969262);
DVK(KP522616830, +0.522616830205754336872861364785224694908468440);
DVK(KP945422727, +0.945422727388575946270360266328811958657216298);
DVK(KP912575812, +0.912575812670962425556968549836277086778922727);
DVK(KP982009705, +0.982009705009746369461829878184175962711969869);
DVK(KP921078979, +0.921078979742360627699756128143719920817673854);
DVK(KP734762448, +0.734762448793050413546343770063151342619912334);
DVK(KP951056516, +0.951056516295153572116439333379382143405698634);
DVK(KP958953096, +0.958953096729998668045963838399037225970891871);
DVK(KP867381224, +0.867381224396525206773171885031575671309956167);
DVK(KP269969613, +0.269969613759572083574752974412347470060951301);
DVK(KP244189809, +0.244189809627953270309879511234821255780225091);
DVK(KP845997307, +0.845997307939530944175097360758058292389769300);
DVK(KP772036680, +0.772036680810363904029489473607579825330539880);
DVK(KP132830569, +0.132830569247582714407653942074819768844536507);
DVK(KP120146378, +0.120146378570687701782758537356596213647956445);
DVK(KP987388751, +0.987388751065621252324603216482382109400433949);
DVK(KP893101515, +0.893101515366181661711202267938416198338079437);
DVK(KP786782374, +0.786782374965295178365099601674911834788448471);
DVK(KP869845200, +0.869845200362138853122720822420327157933056305);
DVK(KP447533225, +0.447533225982656890041886979663652563063114397);
DVK(KP494780565, +0.494780565770515410344588413655324772219443730);
DVK(KP578046249, +0.578046249379945007321754579646815604023525655);
DVK(KP522847744, +0.522847744331509716623755382187077770911012542);
DVK(KP059835404, +0.059835404262124915169548397419498386427871950);
DVK(KP066152395, +0.066152395967733048213034281011006031460903353);
DVK(KP603558818, +0.603558818296015001454675132653458027918768137);
DVK(KP667278218, +0.667278218140296670899089292254759909713898805);
DVK(KP559016994, +0.559016994374947424102293417182819058860154590);
DVK(KP250000000, +0.250000000000000000000000000000000000000000000);
DVK(KP618033988, +0.618033988749894848204586834365638117720309180);
INT i;
const R *xi;
R *xo;
xi = ii;
xo = io;
for (i = v; i > 0; i = i - VL, xi = xi + (VL * ivs), xo = xo + (VL * ovs), MAKE_VOLATILE_STRIDE(is), MAKE_VOLATILE_STRIDE(os)) {
V T1g, T1k, T1I, T24, T2a, T1G, T1A, T1l, T1B, T1H, T1d;
{
V T2z, T1q, Ta, T9, T3n, Ty, Tl, T2O, T2W, T2l, T2s, TV, T1i, T1K, T1S;
V T3z, T3t, Tk, T3o, Tp, T2g, T2N, T2V, T2o, T2t, T1a, T1j, T1J, T1R, Tz;
V Tt, TA, Tw;
{
V T1, T5, T6, T2, T3;
T1 = LD(&(xi[0]), ivs, &(xi[0]));
T5 = LD(&(xi[WS(is, 10)]), ivs, &(xi[0]));
T6 = LD(&(xi[WS(is, 15)]), ivs, &(xi[WS(is, 1)]));
T2 = LD(&(xi[WS(is, 5)]), ivs, &(xi[WS(is, 1)]));
T3 = LD(&(xi[WS(is, 20)]), ivs, &(xi[0]));
{
V TH, TW, TK, TS, T10, T8, TN, TT, T17, TZ, T11;
TH = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
TW = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
{
V TI, TJ, TL, T7, T1p, T4, T1o, TM, TX, TY;
TI = LD(&(xi[WS(is, 7)]), ivs, &(xi[WS(is, 1)]));
TJ = LD(&(xi[WS(is, 22)]), ivs, &(xi[0]));
TL = LD(&(xi[WS(is, 12)]), ivs, &(xi[0]));
T7 = VADD(T5, T6);
T1p = VSUB(T5, T6);
T4 = VADD(T2, T3);
T1o = VSUB(T2, T3);
//.........这里部分代码省略.........
示例14: t2fv_8
static void t2fv_8(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
{
DVK(KP707106781, +0.707106781186547524400844362104849039284835938);
INT m;
R *x;
x = ri;
for (m = mb, W = W + (mb * ((TWVL / VL) * 14)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 14), MAKE_VOLATILE_STRIDE(rs)) {
V T4, Tq, Tm, Tr, T9, Tt, Te, Tu, T1, T3, T2;
T1 = LD(&(x[0]), ms, &(x[0]));
T2 = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
T3 = BYTWJ(&(W[TWVL * 6]), T2);
T4 = VSUB(T1, T3);
Tq = VADD(T1, T3);
{
V Tj, Tl, Ti, Tk;
Ti = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
Tj = BYTWJ(&(W[TWVL * 2]), Ti);
Tk = LD(&(x[WS(rs, 6)]), ms, &(x[0]));
Tl = BYTWJ(&(W[TWVL * 10]), Tk);
Tm = VSUB(Tj, Tl);
Tr = VADD(Tj, Tl);
}
{
V T6, T8, T5, T7;
T5 = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
T6 = BYTWJ(&(W[0]), T5);
T7 = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
T8 = BYTWJ(&(W[TWVL * 8]), T7);
T9 = VSUB(T6, T8);
Tt = VADD(T6, T8);
}
{
V Tb, Td, Ta, Tc;
Ta = LD(&(x[WS(rs, 7)]), ms, &(x[WS(rs, 1)]));
Tb = BYTWJ(&(W[TWVL * 12]), Ta);
Tc = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
Td = BYTWJ(&(W[TWVL * 4]), Tc);
Te = VSUB(Tb, Td);
Tu = VADD(Tb, Td);
}
{
V Ts, Tv, Tw, Tx;
Ts = VADD(Tq, Tr);
Tv = VADD(Tt, Tu);
ST(&(x[WS(rs, 4)]), VSUB(Ts, Tv), ms, &(x[0]));
ST(&(x[0]), VADD(Ts, Tv), ms, &(x[0]));
Tw = VSUB(Tq, Tr);
Tx = VBYI(VSUB(Tu, Tt));
ST(&(x[WS(rs, 6)]), VSUB(Tw, Tx), ms, &(x[0]));
ST(&(x[WS(rs, 2)]), VADD(Tw, Tx), ms, &(x[0]));
{
V Tg, To, Tn, Tp, Tf, Th;
Tf = VMUL(LDK(KP707106781), VADD(T9, Te));
Tg = VADD(T4, Tf);
To = VSUB(T4, Tf);
Th = VMUL(LDK(KP707106781), VSUB(Te, T9));
Tn = VBYI(VSUB(Th, Tm));
Tp = VBYI(VADD(Tm, Th));
ST(&(x[WS(rs, 7)]), VSUB(Tg, Tn), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 3)]), VADD(To, Tp), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 1)]), VADD(Tg, Tn), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 5)]), VSUB(To, Tp), ms, &(x[WS(rs, 1)]));
}
}
}
}
示例15: n1fv_12
static void n1fv_12(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
{
DVK(KP866025403, +0.866025403784438646763723170752936183471402627);
DVK(KP500000000, +0.500000000000000000000000000000000000000000000);
INT i;
const R *xi;
R *xo;
xi = ri;
xo = ro;
for (i = v; i > 0; i = i - VL, xi = xi + (VL * ivs), xo = xo + (VL * ovs), MAKE_VOLATILE_STRIDE(is), MAKE_VOLATILE_STRIDE(os)) {
V T1, T6, Tk, Tn, Tc, Td, Tf, Tr, T4, Ts, T9, Tg, Te, Tl;
{
V T2, T3, T7, T8;
T1 = LD(&(xi[0]), ivs, &(xi[0]));
T6 = LD(&(xi[WS(is, 6)]), ivs, &(xi[0]));
T2 = LD(&(xi[WS(is, 4)]), ivs, &(xi[0]));
T3 = LD(&(xi[WS(is, 8)]), ivs, &(xi[0]));
T7 = LD(&(xi[WS(is, 10)]), ivs, &(xi[0]));
T8 = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
Tk = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
Tn = LD(&(xi[WS(is, 9)]), ivs, &(xi[WS(is, 1)]));
Tc = LD(&(xi[WS(is, 11)]), ivs, &(xi[WS(is, 1)]));
Td = LD(&(xi[WS(is, 7)]), ivs, &(xi[WS(is, 1)]));
Tf = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
Tr = VSUB(T3, T2);
T4 = VADD(T2, T3);
Ts = VSUB(T8, T7);
T9 = VADD(T7, T8);
Tg = LD(&(xi[WS(is, 5)]), ivs, &(xi[WS(is, 1)]));
}
Te = VSUB(Tc, Td);
Tl = VADD(Td, Tc);
{
V T5, TF, TB, Tt, Ta, TG, Th, To, Tm, TI;
T5 = VFNMS(LDK(KP500000000), T4, T1);
TF = VADD(T1, T4);
TB = VADD(Tr, Ts);
Tt = VSUB(Tr, Ts);
Ta = VFNMS(LDK(KP500000000), T9, T6);
TG = VADD(T6, T9);
Th = VSUB(Tf, Tg);
To = VADD(Tf, Tg);
Tm = VFNMS(LDK(KP500000000), Tl, Tk);
TI = VADD(Tk, Tl);
{
V TH, TL, Tb, Tx, TJ, Tp, Ti, TA;
TH = VSUB(TF, TG);
TL = VADD(TF, TG);
Tb = VSUB(T5, Ta);
Tx = VADD(T5, Ta);
TJ = VADD(Tn, To);
Tp = VFNMS(LDK(KP500000000), To, Tn);
Ti = VADD(Te, Th);
TA = VSUB(Te, Th);
{
V Tq, Ty, TK, TM;
Tq = VSUB(Tm, Tp);
Ty = VADD(Tm, Tp);
TK = VSUB(TI, TJ);
TM = VADD(TI, TJ);
{
V TC, TE, Tj, Tv;
TC = VMUL(LDK(KP866025403), VSUB(TA, TB));
TE = VMUL(LDK(KP866025403), VADD(TB, TA));
Tj = VFMA(LDK(KP866025403), Ti, Tb);
Tv = VFNMS(LDK(KP866025403), Ti, Tb);
{
V Tz, TD, Tu, Tw;
Tz = VSUB(Tx, Ty);
TD = VADD(Tx, Ty);
Tu = VFNMS(LDK(KP866025403), Tt, Tq);
Tw = VFMA(LDK(KP866025403), Tt, Tq);
ST(&(xo[0]), VADD(TL, TM), ovs, &(xo[0]));
ST(&(xo[WS(os, 6)]), VSUB(TL, TM), ovs, &(xo[0]));
ST(&(xo[WS(os, 3)]), VFMAI(TK, TH), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 9)]), VFNMSI(TK, TH), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 4)]), VFMAI(TE, TD), ovs, &(xo[0]));
ST(&(xo[WS(os, 8)]), VFNMSI(TE, TD), ovs, &(xo[0]));
ST(&(xo[WS(os, 10)]), VFNMSI(TC, Tz), ovs, &(xo[0]));
ST(&(xo[WS(os, 2)]), VFMAI(TC, Tz), ovs, &(xo[0]));
ST(&(xo[WS(os, 5)]), VFNMSI(Tw, Tv), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 7)]), VFMAI(Tw, Tv), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 11)]), VFMAI(Tu, Tj), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 1)]), VFNMSI(Tu, Tj), ovs, &(xo[WS(os, 1)]));
}
}
}
}
}
}
}