本文整理汇总了C++中VLEAVE函数的典型用法代码示例。如果您正苦于以下问题:C++ VLEAVE函数的具体用法?C++ VLEAVE怎么用?C++ VLEAVE使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了VLEAVE函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: n1bv_5
static void n1bv_5(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
{
DVK(KP559016994, +0.559016994374947424102293417182819058860154590);
DVK(KP250000000, +0.250000000000000000000000000000000000000000000);
DVK(KP618033988, +0.618033988749894848204586834365638117720309180);
DVK(KP951056516, +0.951056516295153572116439333379382143405698634);
{
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 T1, T2, T3, 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, 4)]), ivs, &(xi[0]));
T5 = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
T6 = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
{
V Tc, T4, Td, T7;
Tc = VSUB(T2, T3);
T4 = VADD(T2, T3);
Td = VSUB(T5, T6);
T7 = VADD(T5, T6);
{
V Tg, Te, Ta, T8, T9, Tf, Tb;
Tg = VMUL(LDK(KP951056516), VFNMS(LDK(KP618033988), Tc, Td));
Te = VMUL(LDK(KP951056516), VFMA(LDK(KP618033988), Td, Tc));
Ta = VSUB(T4, T7);
T8 = VADD(T4, T7);
T9 = VFNMS(LDK(KP250000000), T8, T1);
ST(&(xo[0]), VADD(T1, T8), ovs, &(xo[0]));
Tf = VFNMS(LDK(KP559016994), Ta, T9);
Tb = VFMA(LDK(KP559016994), Ta, T9);
ST(&(xo[WS(os, 2)]), VFNMSI(Tg, Tf), ovs, &(xo[0]));
ST(&(xo[WS(os, 3)]), VFMAI(Tg, Tf), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 4)]), VFNMSI(Te, Tb), ovs, &(xo[0]));
ST(&(xo[WS(os, 1)]), VFMAI(Te, Tb), ovs, &(xo[WS(os, 1)]));
}
}
}
}
VLEAVE();
}
示例2: n1bv_5
static void n1bv_5(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
{
DVK(KP250000000, +0.250000000000000000000000000000000000000000000);
DVK(KP587785252, +0.587785252292473129168705954639072768597652438);
DVK(KP951056516, +0.951056516295153572116439333379382143405698634);
DVK(KP559016994, +0.559016994374947424102293417182819058860154590);
{
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 Tb, T3, Tc, T6, Ta;
Tb = LD(&(xi[0]), ivs, &(xi[0]));
{
V T1, T2, T8, T4, T5, T9;
T1 = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
T2 = LD(&(xi[WS(is, 4)]), ivs, &(xi[0]));
T8 = VADD(T1, T2);
T4 = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
T5 = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
T9 = VADD(T4, T5);
T3 = VSUB(T1, T2);
Tc = VADD(T8, T9);
T6 = VSUB(T4, T5);
Ta = VMUL(LDK(KP559016994), VSUB(T8, T9));
}
ST(&(xo[0]), VADD(Tb, Tc), ovs, &(xo[0]));
{
V T7, Tf, Te, Tg, Td;
T7 = VBYI(VFMA(LDK(KP951056516), T3, VMUL(LDK(KP587785252), T6)));
Tf = VBYI(VFNMS(LDK(KP951056516), T6, VMUL(LDK(KP587785252), T3)));
Td = VFNMS(LDK(KP250000000), Tc, Tb);
Te = VADD(Ta, Td);
Tg = VSUB(Td, Ta);
ST(&(xo[WS(os, 1)]), VADD(T7, Te), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 3)]), VSUB(Tg, Tf), ovs, &(xo[WS(os, 1)]));
ST(&(xo[WS(os, 4)]), VSUB(Te, T7), ovs, &(xo[0]));
ST(&(xo[WS(os, 2)]), VADD(Tf, Tg), ovs, &(xo[0]));
}
}
}
VLEAVE();
}
示例3: n1bv_2
static void n1bv_2(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
{
{
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 T1, T2;
T1 = LD(&(xi[0]), ivs, &(xi[0]));
T2 = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
ST(&(xo[WS(os, 1)]), VSUB(T1, T2), ovs, &(xo[WS(os, 1)]));
ST(&(xo[0]), VADD(T1, T2), ovs, &(xo[0]));
}
}
VLEAVE();
}
示例4: hc2cbdftv_2
static void hc2cbdftv_2(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms)
{
{
INT m;
for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 2)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 2), MAKE_VOLATILE_STRIDE(8, rs)) {
V T2, T3, T1, T5, T4, T7, T6;
T2 = LD(&(Rp[0]), ms, &(Rp[0]));
T3 = LD(&(Rm[0]), -ms, &(Rm[0]));
T1 = LDW(&(W[0]));
T5 = VFMACONJ(T3, T2);
T4 = VZMULI(T1, VFNMSCONJ(T3, T2));
T7 = VCONJ(VSUB(T5, T4));
T6 = VADD(T4, T5);
ST(&(Rm[0]), T7, -ms, &(Rm[0]));
ST(&(Rp[0]), T6, ms, &(Rp[0]));
}
}
VLEAVE();
}
示例5: n2fv_2
static void n2fv_2(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
{
{
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(4, is), MAKE_VOLATILE_STRIDE(4, os)) {
V T1, T2, T3, T4;
T1 = LD(&(xi[0]), ivs, &(xi[0]));
T2 = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
T3 = VSUB(T1, T2);
STM2(&(xo[2]), T3, ovs, &(xo[2]));
T4 = VADD(T1, T2);
STM2(&(xo[0]), T4, ovs, &(xo[0]));
STN2(&(xo[0]), T4, T3, ovs);
}
}
VLEAVE();
}
示例6: q1fv_2
static void q1fv_2(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) * 2)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 2), MAKE_VOLATILE_STRIDE(4, rs), MAKE_VOLATILE_STRIDE(4, vs)) {
V T1, T2, T3, T4, T5, T6;
T1 = LD(&(x[0]), ms, &(x[0]));
T2 = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
T3 = BYTWJ(&(W[0]), VSUB(T1, T2));
T4 = LD(&(x[WS(vs, 1)]), ms, &(x[WS(vs, 1)]));
T5 = LD(&(x[WS(vs, 1) + WS(rs, 1)]), ms, &(x[WS(vs, 1) + WS(rs, 1)]));
T6 = BYTWJ(&(W[0]), VSUB(T4, T5));
ST(&(x[WS(vs, 1)]), T3, ms, &(x[WS(vs, 1)]));
ST(&(x[WS(vs, 1) + WS(rs, 1)]), T6, ms, &(x[WS(vs, 1) + WS(rs, 1)]));
ST(&(x[0]), VADD(T1, T2), ms, &(x[0]));
ST(&(x[WS(rs, 1)]), VADD(T4, T5), ms, &(x[WS(rs, 1)]));
}
}
VLEAVE();
}
示例7: hc2cfdftv_4
static void hc2cfdftv_4(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms)
{
DVK(KP500000000, +0.500000000000000000000000000000000000000000000);
{
INT m;
for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 6)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 6), MAKE_VOLATILE_STRIDE(16, rs)) {
V T4, Tc, T9, Te, T1, T3, T2, Tb, T6, T8, T7, T5, Td, Tg, Th;
V Ta, Tf, Tk, Tl, Ti, Tj;
T1 = LD(&(Rp[0]), ms, &(Rp[0]));
T2 = LD(&(Rm[0]), -ms, &(Rm[0]));
T3 = VCONJ(T2);
T4 = VADD(T1, T3);
Tb = LDW(&(W[0]));
Tc = VZMULIJ(Tb, VSUB(T3, T1));
T6 = LD(&(Rp[WS(rs, 1)]), ms, &(Rp[WS(rs, 1)]));
T7 = LD(&(Rm[WS(rs, 1)]), -ms, &(Rm[WS(rs, 1)]));
T8 = VCONJ(T7);
T5 = LDW(&(W[TWVL * 2]));
T9 = VZMULJ(T5, VADD(T6, T8));
Td = LDW(&(W[TWVL * 4]));
Te = VZMULIJ(Td, VSUB(T8, T6));
Ta = VSUB(T4, T9);
Tf = VBYI(VSUB(Tc, Te));
Tg = VMUL(LDK(KP500000000), VSUB(Ta, Tf));
Th = VCONJ(VMUL(LDK(KP500000000), VADD(Ta, Tf)));
ST(&(Rp[WS(rs, 1)]), Tg, ms, &(Rp[WS(rs, 1)]));
ST(&(Rm[0]), Th, -ms, &(Rm[0]));
Ti = VADD(T4, T9);
Tj = VADD(Tc, Te);
Tk = VCONJ(VMUL(LDK(KP500000000), VSUB(Ti, Tj)));
Tl = VMUL(LDK(KP500000000), VADD(Ti, Tj));
ST(&(Rm[WS(rs, 1)]), Tk, -ms, &(Rm[WS(rs, 1)]));
ST(&(Rp[0]), Tl, ms, &(Rp[0]));
}
}
VLEAVE();
}
示例8: t3fv_4
static void t3fv_4(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
{
{
INT m;
R *x;
x = ri;
for (m = mb, W = W + (mb * ((TWVL / VL) * 4)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 4), MAKE_VOLATILE_STRIDE(4, rs)) {
V T2, T3, T4;
T2 = LDW(&(W[0]));
T3 = LDW(&(W[TWVL * 2]));
T4 = VZMULJ(T2, T3);
{
V T1, Tb, T6, T9, Ta, T5, T8;
T1 = LD(&(x[0]), ms, &(x[0]));
Ta = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
Tb = VZMULJ(T3, Ta);
T5 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
T6 = VZMULJ(T4, T5);
T8 = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
T9 = VZMULJ(T2, T8);
{
V T7, Tc, Td, Te;
T7 = VSUB(T1, T6);
Tc = VBYI(VSUB(T9, Tb));
ST(&(x[WS(rs, 1)]), VSUB(T7, Tc), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 3)]), VADD(T7, Tc), ms, &(x[WS(rs, 1)]));
Td = VADD(T1, T6);
Te = VADD(T9, Tb);
ST(&(x[WS(rs, 2)]), VSUB(Td, Te), ms, &(x[0]));
ST(&(x[0]), VADD(Td, Te), ms, &(x[0]));
}
}
}
}
VLEAVE();
}
示例9: hc2cbdftv_4
static void hc2cbdftv_4(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms)
{
{
INT m;
for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 6)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 6), MAKE_VOLATILE_STRIDE(rs)) {
V T5, Tc, T9, Td, T2, T4, T3, T6, T8, T7, Tj, Ti, Th, Tk, Tl;
V Ta, Te, T1, Tb, Tf, Tg;
T2 = LD(&(Rp[0]), ms, &(Rp[0]));
T3 = LD(&(Rm[WS(rs, 1)]), -ms, &(Rm[WS(rs, 1)]));
T4 = VCONJ(T3);
T5 = VSUB(T2, T4);
Tc = VADD(T2, T4);
T6 = LD(&(Rp[WS(rs, 1)]), ms, &(Rp[WS(rs, 1)]));
T7 = LD(&(Rm[0]), -ms, &(Rm[0]));
T8 = VCONJ(T7);
T9 = VBYI(VSUB(T6, T8));
Td = VADD(T6, T8);
Tj = VADD(Tc, Td);
Th = LDW(&(W[0]));
Ti = VZMULI(Th, VADD(T5, T9));
Tk = VADD(Ti, Tj);
ST(&(Rp[0]), Tk, ms, &(Rp[0]));
Tl = VCONJ(VSUB(Tj, Ti));
ST(&(Rm[0]), Tl, -ms, &(Rm[0]));
T1 = LDW(&(W[TWVL * 4]));
Ta = VZMULI(T1, VSUB(T5, T9));
Tb = LDW(&(W[TWVL * 2]));
Te = VZMUL(Tb, VSUB(Tc, Td));
Tf = VADD(Ta, Te);
ST(&(Rp[WS(rs, 1)]), Tf, ms, &(Rp[WS(rs, 1)]));
Tg = VCONJ(VSUB(Te, Ta));
ST(&(Rm[WS(rs, 1)]), Tg, -ms, &(Rm[WS(rs, 1)]));
}
}
VLEAVE();
}
示例10: t3bv_10
//.........这里部分代码省略.........
DVK(KP951056516, +0.951056516295153572116439333379382143405698634);
{
INT m;
R *x;
x = ii;
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(10, rs)) {
V T1, T7, Th, Tx, Tr, Td, Tp, T6, Tv, Tc, Te, Ti, Tl, T2, T3;
V T5;
T2 = LDW(&(W[0]));
T3 = LDW(&(W[TWVL * 2]));
T5 = LDW(&(W[TWVL * 4]));
T1 = LD(&(x[0]), ms, &(x[0]));
T7 = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
{
V To, Tw, Tq, Tu, Ta, T4, Tt, Tk, Tb;
To = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
Tw = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
Tq = LD(&(x[WS(rs, 9)]), ms, &(x[WS(rs, 1)]));
Tu = LD(&(x[WS(rs, 6)]), ms, &(x[0]));
Ta = VZMULJ(T2, T3);
T4 = VZMUL(T2, T3);
Th = VZMULJ(T2, T5);
Tt = VZMULJ(T3, T5);
Tb = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
Tx = VZMUL(T2, Tw);
Tr = VZMUL(T5, Tq);
Tk = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
Td = VZMULJ(Ta, T5);
Tp = VZMUL(T4, To);
T6 = VZMULJ(T4, T5);
Tv = VZMUL(Tt, Tu);
Tc = VZMUL(Ta, Tb);
Te = LD(&(x[WS(rs, 7)]), ms, &(x[WS(rs, 1)]));
Ti = LD(&(x[WS(rs, 8)]), ms, &(x[0]));
Tl = VZMUL(T3, Tk);
}
{
V TN, Ts, T8, Ty, TO, Tf, Tj;
TN = VADD(Tp, Tr);
Ts = VSUB(Tp, Tr);
T8 = VZMUL(T6, T7);
Ty = VSUB(Tv, Tx);
TO = VADD(Tv, Tx);
Tf = VZMUL(Td, Te);
Tj = VZMUL(Th, Ti);
{
V T9, TJ, TP, TU, Tz, TF, Tg, TK, Tm, TL;
T9 = VSUB(T1, T8);
TJ = VADD(T1, T8);
TP = VADD(TN, TO);
TU = VSUB(TN, TO);
Tz = VADD(Ts, Ty);
TF = VSUB(Ts, Ty);
Tg = VSUB(Tc, Tf);
TK = VADD(Tc, Tf);
Tm = VSUB(Tj, Tl);
TL = VADD(Tj, Tl);
{
V TM, TV, Tn, TE;
TM = VADD(TK, TL);
TV = VSUB(TK, TL);
Tn = VADD(Tg, Tm);
TE = VSUB(Tg, Tm);
{
V TW, TY, TS, TQ, TG, TI, TC, TA, TR, TB;
TW = VMUL(LDK(KP951056516), VFNMS(LDK(KP618033988), TV, TU));
TY = VMUL(LDK(KP951056516), VFMA(LDK(KP618033988), TU, TV));
TS = VSUB(TM, TP);
TQ = VADD(TM, TP);
TG = VMUL(LDK(KP951056516), VFMA(LDK(KP618033988), TF, TE));
TI = VMUL(LDK(KP951056516), VFNMS(LDK(KP618033988), TE, TF));
TC = VSUB(Tn, Tz);
TA = VADD(Tn, Tz);
ST(&(x[0]), VADD(TJ, TQ), ms, &(x[0]));
TR = VFNMS(LDK(KP250000000), TQ, TJ);
ST(&(x[WS(rs, 5)]), VADD(T9, TA), ms, &(x[WS(rs, 1)]));
TB = VFNMS(LDK(KP250000000), TA, T9);
{
V TX, TT, TH, TD;
TX = VFMA(LDK(KP559016994), TS, TR);
TT = VFNMS(LDK(KP559016994), TS, TR);
TH = VFNMS(LDK(KP559016994), TC, TB);
TD = VFMA(LDK(KP559016994), TC, TB);
ST(&(x[WS(rs, 8)]), VFMAI(TW, TT), ms, &(x[0]));
ST(&(x[WS(rs, 2)]), VFNMSI(TW, TT), ms, &(x[0]));
ST(&(x[WS(rs, 6)]), VFMAI(TY, TX), ms, &(x[0]));
ST(&(x[WS(rs, 4)]), VFNMSI(TY, TX), ms, &(x[0]));
ST(&(x[WS(rs, 9)]), VFNMSI(TG, TD), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 1)]), VFMAI(TG, TD), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 7)]), VFNMSI(TI, TH), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 3)]), VFMAI(TI, TH), ms, &(x[WS(rs, 1)]));
}
}
}
}
}
}
}
VLEAVE();
}
示例11: t2bv_10
static void t2bv_10(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
{
DVK(KP559016994, +0.559016994374947424102293417182819058860154590);
DVK(KP250000000, +0.250000000000000000000000000000000000000000000);
DVK(KP618033988, +0.618033988749894848204586834365638117720309180);
DVK(KP951056516, +0.951056516295153572116439333379382143405698634);
{
INT m;
R *x;
x = ii;
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(10, rs)) {
V Td, TA, T4, Ta, Tk, TE, Tp, TF, TB, T9, T1, T2, Tb;
T1 = LD(&(x[0]), ms, &(x[0]));
T2 = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
{
V Tg, Tn, Ti, Tl;
Tg = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
Tn = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
Ti = LD(&(x[WS(rs, 9)]), ms, &(x[WS(rs, 1)]));
Tl = LD(&(x[WS(rs, 6)]), ms, &(x[0]));
{
V T6, T8, T5, Tc;
T5 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
Tc = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
{
V T3, Th, To, Tj, Tm, T7;
T7 = LD(&(x[WS(rs, 7)]), ms, &(x[WS(rs, 1)]));
T3 = BYTW(&(W[TWVL * 8]), T2);
Th = BYTW(&(W[TWVL * 6]), Tg);
To = BYTW(&(W[0]), Tn);
Tj = BYTW(&(W[TWVL * 16]), Ti);
Tm = BYTW(&(W[TWVL * 10]), Tl);
T6 = BYTW(&(W[TWVL * 2]), T5);
Td = BYTW(&(W[TWVL * 4]), Tc);
T8 = BYTW(&(W[TWVL * 12]), T7);
TA = VADD(T1, T3);
T4 = VSUB(T1, T3);
Ta = LD(&(x[WS(rs, 8)]), ms, &(x[0]));
Tk = VSUB(Th, Tj);
TE = VADD(Th, Tj);
Tp = VSUB(Tm, To);
TF = VADD(Tm, To);
}
TB = VADD(T6, T8);
T9 = VSUB(T6, T8);
}
}
Tb = BYTW(&(W[TWVL * 14]), Ta);
{
V TL, TG, Tw, Tq, TC, Te;
TL = VSUB(TE, TF);
TG = VADD(TE, TF);
Tw = VSUB(Tk, Tp);
Tq = VADD(Tk, Tp);
TC = VADD(Tb, Td);
Te = VSUB(Tb, Td);
{
V TM, TD, Tv, Tf;
TM = VSUB(TB, TC);
TD = VADD(TB, TC);
Tv = VSUB(T9, Te);
Tf = VADD(T9, Te);
{
V TP, TN, TH, TJ, Tz, Tx, Tr, Tt, TI, Ts;
TP = VMUL(LDK(KP951056516), VFMA(LDK(KP618033988), TL, TM));
TN = VMUL(LDK(KP951056516), VFNMS(LDK(KP618033988), TM, TL));
TH = VADD(TD, TG);
TJ = VSUB(TD, TG);
Tz = VMUL(LDK(KP951056516), VFNMS(LDK(KP618033988), Tv, Tw));
Tx = VMUL(LDK(KP951056516), VFMA(LDK(KP618033988), Tw, Tv));
Tr = VADD(Tf, Tq);
Tt = VSUB(Tf, Tq);
ST(&(x[0]), VADD(TA, TH), ms, &(x[0]));
TI = VFNMS(LDK(KP250000000), TH, TA);
ST(&(x[WS(rs, 5)]), VADD(T4, Tr), ms, &(x[WS(rs, 1)]));
Ts = VFNMS(LDK(KP250000000), Tr, T4);
{
V TK, TO, Tu, Ty;
TK = VFNMS(LDK(KP559016994), TJ, TI);
TO = VFMA(LDK(KP559016994), TJ, TI);
Tu = VFMA(LDK(KP559016994), Tt, Ts);
Ty = VFNMS(LDK(KP559016994), Tt, Ts);
ST(&(x[WS(rs, 8)]), VFMAI(TN, TK), ms, &(x[0]));
ST(&(x[WS(rs, 2)]), VFNMSI(TN, TK), ms, &(x[0]));
ST(&(x[WS(rs, 6)]), VFMAI(TP, TO), ms, &(x[0]));
ST(&(x[WS(rs, 4)]), VFNMSI(TP, TO), ms, &(x[0]));
ST(&(x[WS(rs, 9)]), VFNMSI(Tx, Tu), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 1)]), VFMAI(Tx, Tu), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 7)]), VFNMSI(Tz, Ty), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 3)]), VFMAI(Tz, Ty), ms, &(x[WS(rs, 1)]));
}
}
}
}
}
}
VLEAVE();
}
示例12: t1fuv_9
//.........这里部分代码省略.........
DVK(KP203604859, +0.203604859554852403062088995281827210665664861);
DVK(KP152703644, +0.152703644666139302296566746461370407999248646);
DVK(KP586256827, +0.586256827714544512072145703099641959914944179);
DVK(KP968908795, +0.968908795874236621082202410917456709164223497);
DVK(KP726681596, +0.726681596905677465811651808188092531873167623);
DVK(KP500000000, +0.500000000000000000000000000000000000000000000);
{
INT m;
R *x;
x = ri;
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, Th, Tb, Td, Tj, Tl, TD, T6;
T1 = LD(&(x[0]), ms, &(x[0]));
{
V T2, T4, T8, Tg;
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, 1)]), ms, &(x[WS(rs, 1)]));
Tg = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
{
V Ta, Tc, Ti, Tk;
Ta = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
Tc = LD(&(x[WS(rs, 7)]), ms, &(x[WS(rs, 1)]));
Ti = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
Tk = LD(&(x[WS(rs, 8)]), ms, &(x[0]));
T3 = BYTWJ(&(W[TWVL * 4]), T2);
T5 = BYTWJ(&(W[TWVL * 10]), T4);
T9 = BYTWJ(&(W[0]), T8);
Th = BYTWJ(&(W[TWVL * 2]), Tg);
Tb = BYTWJ(&(W[TWVL * 6]), Ta);
Td = BYTWJ(&(W[TWVL * 12]), Tc);
Tj = BYTWJ(&(W[TWVL * 8]), Ti);
Tl = BYTWJ(&(W[TWVL * 14]), Tk);
}
}
TD = VSUB(T5, T3);
T6 = VADD(T3, T5);
{
V Tt, Te, Tu, Tm, Tr, T7;
Tt = VSUB(Tb, Td);
Te = VADD(Tb, Td);
Tu = VSUB(Tl, Tj);
Tm = VADD(Tj, Tl);
Tr = VFNMS(LDK(KP500000000), T6, T1);
T7 = VADD(T1, T6);
{
V Tv, Tf, Ts, Tn;
Tv = VFNMS(LDK(KP500000000), Te, T9);
Tf = VADD(T9, Te);
Ts = VFNMS(LDK(KP500000000), Tm, Th);
Tn = VADD(Th, Tm);
{
V TG, TK, Tw, TJ, TF, TA, To, Tq;
TG = VFNMS(LDK(KP726681596), Tt, Tv);
TK = VFMA(LDK(KP968908795), Tv, Tt);
Tw = VFNMS(LDK(KP586256827), Tv, Tu);
TJ = VFNMS(LDK(KP152703644), Tu, Ts);
TF = VFMA(LDK(KP203604859), Ts, Tu);
TA = VFNMS(LDK(KP439692620), Tt, Ts);
To = VADD(Tf, Tn);
Tq = VMUL(LDK(KP866025403), VSUB(Tn, Tf));
{
V TQ, TH, TL, TN, TB, Tp, Ty, TI, Tx;
Tx = VFNMS(LDK(KP347296355), Tw, Tt);
TQ = VFNMS(LDK(KP898197570), TG, TF);
TH = VFMA(LDK(KP898197570), TG, TF);
TL = VFMA(LDK(KP673648177), TK, TJ);
TN = VFNMS(LDK(KP673648177), TK, TJ);
TB = VFNMS(LDK(KP420276625), TA, Tu);
ST(&(x[0]), VADD(T7, To), ms, &(x[0]));
Tp = VFNMS(LDK(KP500000000), To, T7);
Ty = VFNMS(LDK(KP907603734), Tx, Ts);
TI = VFMA(LDK(KP852868531), TH, Tr);
{
V TO, TR, TM, TC, Tz, TP, TS, TE;
TO = VFNMS(LDK(KP500000000), TH, TN);
TR = VFMA(LDK(KP666666666), TL, TQ);
TM = VMUL(LDK(KP984807753), VFNMS(LDK(KP879385241), TD, TL));
TC = VFNMS(LDK(KP826351822), TB, Tv);
ST(&(x[WS(rs, 6)]), VFNMSI(Tq, Tp), ms, &(x[0]));
ST(&(x[WS(rs, 3)]), VFMAI(Tq, Tp), ms, &(x[WS(rs, 1)]));
Tz = VFNMS(LDK(KP939692620), Ty, Tr);
TP = VFMA(LDK(KP852868531), TO, Tr);
TS = VMUL(LDK(KP866025403), VFMA(LDK(KP852868531), TR, TD));
ST(&(x[WS(rs, 8)]), VFMAI(TM, TI), ms, &(x[0]));
ST(&(x[WS(rs, 1)]), VFNMSI(TM, TI), ms, &(x[WS(rs, 1)]));
TE = VMUL(LDK(KP984807753), VFMA(LDK(KP879385241), TD, TC));
ST(&(x[WS(rs, 4)]), VFMAI(TS, TP), ms, &(x[0]));
ST(&(x[WS(rs, 5)]), VFNMSI(TS, TP), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 7)]), VFMAI(TE, Tz), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 2)]), VFNMSI(TE, Tz), ms, &(x[0]));
}
}
}
}
}
}
}
VLEAVE();
}
示例13: hc2cfdftv_8
static void hc2cfdftv_8(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms)
{
DVK(KP707106781, +0.707106781186547524400844362104849039284835938);
DVK(KP353553390, +0.353553390593273762200422181052424519642417969);
DVK(KP500000000, +0.500000000000000000000000000000000000000000000);
{
INT m;
for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 14)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 14), MAKE_VOLATILE_STRIDE(32, rs)) {
V Ta, TE, Tr, TF, Tl, TK, Tw, TG, T1, T6, T3, T8, T2, T7, T4;
V T9, T5, To, Tq, Tn, Tp, Tc, Th, Te, Tj, Td, Ti, Tf, Tk, Tb;
V Tg, Tt, Tv, Ts, Tu, Ty, Tz, Tm, Tx, TC, TD, TA, TB, TI, TO;
V TL, TP, TH, TJ, TM, TR, TN, TQ;
T1 = LD(&(Rp[0]), ms, &(Rp[0]));
T6 = LD(&(Rp[WS(rs, 2)]), ms, &(Rp[0]));
T2 = LD(&(Rm[0]), -ms, &(Rm[0]));
T3 = VCONJ(T2);
T7 = LD(&(Rm[WS(rs, 2)]), -ms, &(Rm[0]));
T8 = VCONJ(T7);
T4 = VADD(T1, T3);
T5 = LDW(&(W[TWVL * 6]));
T9 = VZMULJ(T5, VADD(T6, T8));
Ta = VADD(T4, T9);
TE = VMUL(LDK(KP500000000), VSUB(T4, T9));
Tn = LDW(&(W[0]));
To = VZMULIJ(Tn, VSUB(T3, T1));
Tp = LDW(&(W[TWVL * 8]));
Tq = VZMULIJ(Tp, VSUB(T8, T6));
Tr = VADD(To, Tq);
TF = VSUB(To, Tq);
Tc = LD(&(Rp[WS(rs, 1)]), ms, &(Rp[WS(rs, 1)]));
Th = LD(&(Rp[WS(rs, 3)]), ms, &(Rp[WS(rs, 1)]));
Td = LD(&(Rm[WS(rs, 1)]), -ms, &(Rm[WS(rs, 1)]));
Te = VCONJ(Td);
Ti = LD(&(Rm[WS(rs, 3)]), -ms, &(Rm[WS(rs, 1)]));
Tj = VCONJ(Ti);
Tb = LDW(&(W[TWVL * 2]));
Tf = VZMULJ(Tb, VADD(Tc, Te));
Tg = LDW(&(W[TWVL * 10]));
Tk = VZMULJ(Tg, VADD(Th, Tj));
Tl = VADD(Tf, Tk);
TK = VSUB(Tf, Tk);
Ts = LDW(&(W[TWVL * 4]));
Tt = VZMULIJ(Ts, VSUB(Te, Tc));
Tu = LDW(&(W[TWVL * 12]));
Tv = VZMULIJ(Tu, VSUB(Tj, Th));
Tw = VADD(Tt, Tv);
TG = VSUB(Tv, Tt);
Tm = VADD(Ta, Tl);
Tx = VADD(Tr, Tw);
Ty = VCONJ(VMUL(LDK(KP500000000), VSUB(Tm, Tx)));
Tz = VMUL(LDK(KP500000000), VADD(Tm, Tx));
ST(&(Rm[WS(rs, 3)]), Ty, -ms, &(Rm[WS(rs, 1)]));
ST(&(Rp[0]), Tz, ms, &(Rp[0]));
TA = VSUB(Ta, Tl);
TB = VBYI(VSUB(Tw, Tr));
TC = VCONJ(VMUL(LDK(KP500000000), VSUB(TA, TB)));
TD = VMUL(LDK(KP500000000), VADD(TA, TB));
ST(&(Rm[WS(rs, 1)]), TC, -ms, &(Rm[WS(rs, 1)]));
ST(&(Rp[WS(rs, 2)]), TD, ms, &(Rp[0]));
TH = VMUL(LDK(KP353553390), VADD(TF, TG));
TI = VADD(TE, TH);
TO = VSUB(TE, TH);
TJ = VMUL(LDK(KP707106781), VSUB(TG, TF));
TL = VMUL(LDK(KP500000000), VBYI(VSUB(TJ, TK)));
TP = VMUL(LDK(KP500000000), VBYI(VADD(TK, TJ)));
TM = VCONJ(VSUB(TI, TL));
ST(&(Rm[0]), TM, -ms, &(Rm[0]));
TR = VADD(TO, TP);
ST(&(Rp[WS(rs, 3)]), TR, ms, &(Rp[WS(rs, 1)]));
TN = VADD(TI, TL);
ST(&(Rp[WS(rs, 1)]), TN, ms, &(Rp[WS(rs, 1)]));
TQ = VCONJ(VSUB(TO, TP));
ST(&(Rm[WS(rs, 2)]), TQ, -ms, &(Rm[0]));
}
}
VLEAVE();
}
示例14: t1fuv_7
static void t1fuv_7(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
{
DVK(KP900968867, +0.900968867902419126236102319507445051165919162);
DVK(KP801937735, +0.801937735804838252472204639014890102331838324);
DVK(KP974927912, +0.974927912181823607018131682993931217232785801);
DVK(KP692021471, +0.692021471630095869627814897002069140197260599);
DVK(KP554958132, +0.554958132087371191422194871006410481067288862);
DVK(KP356895867, +0.356895867892209443894399510021300583399127187);
{
INT m;
R *x;
x = ri;
for (m = mb, W = W + (mb * ((TWVL / VL) * 12)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 12), MAKE_VOLATILE_STRIDE(7, rs)) {
V T1, T2, T4, Te, Tc, T9, T7;
T1 = LD(&(x[0]), ms, &(x[0]));
T2 = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
T4 = LD(&(x[WS(rs, 6)]), ms, &(x[0]));
Te = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
Tc = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
T9 = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
T7 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
{
V T3, T5, Tf, Td, Ta, T8;
T3 = BYTWJ(&(W[0]), T2);
T5 = BYTWJ(&(W[TWVL * 10]), T4);
Tf = BYTWJ(&(W[TWVL * 6]), Te);
Td = BYTWJ(&(W[TWVL * 4]), Tc);
Ta = BYTWJ(&(W[TWVL * 8]), T9);
T8 = BYTWJ(&(W[TWVL * 2]), T7);
{
V T6, Tk, Tg, Tl, Tb, Tm;
T6 = VADD(T3, T5);
Tk = VSUB(T5, T3);
Tg = VADD(Td, Tf);
Tl = VSUB(Tf, Td);
Tb = VADD(T8, Ta);
Tm = VSUB(Ta, T8);
{
V Th, Ts, Tp, Tu, Tn, Tx, Ti, Tt;
Th = VFNMS(LDK(KP356895867), T6, Tg);
Ts = VFMA(LDK(KP554958132), Tl, Tk);
ST(&(x[0]), VADD(T1, VADD(T6, VADD(Tb, Tg))), ms, &(x[0]));
Tp = VFNMS(LDK(KP356895867), Tb, T6);
Tu = VFNMS(LDK(KP356895867), Tg, Tb);
Tn = VFMA(LDK(KP554958132), Tm, Tl);
Tx = VFNMS(LDK(KP554958132), Tk, Tm);
Ti = VFNMS(LDK(KP692021471), Th, Tb);
Tt = VMUL(LDK(KP974927912), VFMA(LDK(KP801937735), Ts, Tm));
{
V Tq, Tv, To, Ty, Tj, Tr, Tw;
Tq = VFNMS(LDK(KP692021471), Tp, Tg);
Tv = VFNMS(LDK(KP692021471), Tu, T6);
To = VMUL(LDK(KP974927912), VFNMS(LDK(KP801937735), Tn, Tk));
Ty = VMUL(LDK(KP974927912), VFNMS(LDK(KP801937735), Tx, Tl));
Tj = VFNMS(LDK(KP900968867), Ti, T1);
Tr = VFNMS(LDK(KP900968867), Tq, T1);
Tw = VFNMS(LDK(KP900968867), Tv, T1);
ST(&(x[WS(rs, 2)]), VFMAI(To, Tj), ms, &(x[0]));
ST(&(x[WS(rs, 5)]), VFNMSI(To, Tj), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 1)]), VFMAI(Tt, Tr), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 6)]), VFNMSI(Tt, Tr), ms, &(x[0]));
ST(&(x[WS(rs, 3)]), VFMAI(Ty, Tw), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 4)]), VFNMSI(Ty, Tw), ms, &(x[0]));
}
}
}
}
}
}
VLEAVE();
}
示例15: t1fv_12
//.........这里部分代码省略.........
T2 = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
T3 = BYTWJ(&(W[TWVL * 6]), T2);
TC = VSUB(T5, T3);
T6 = VADD(T3, T5);
T7 = VFNMS(LDK(KP500000000), T6, T1);
}
{
V Tn, Tp, Tm, Tx, To;
Tm = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
Tn = BYTWJ(&(W[0]), Tm);
Tx = LD(&(x[WS(rs, 9)]), ms, &(x[WS(rs, 1)]));
Ty = BYTWJ(&(W[TWVL * 16]), Tx);
To = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
Tp = BYTWJ(&(W[TWVL * 8]), To);
Tq = VSUB(Tn, Tp);
Tz = VADD(Tn, Tp);
TA = VFNMS(LDK(KP500000000), Tz, Ty);
}
{
V Td, Tb, T8, Tc, Ta;
T8 = LD(&(x[WS(rs, 6)]), ms, &(x[0]));
T9 = BYTWJ(&(W[TWVL * 10]), T8);
Tc = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
Td = BYTWJ(&(W[TWVL * 2]), Tc);
Ta = LD(&(x[WS(rs, 10)]), ms, &(x[0]));
Tb = BYTWJ(&(W[TWVL * 18]), Ta);
TD = VSUB(Td, Tb);
Te = VADD(Tb, Td);
Tf = VFNMS(LDK(KP500000000), Te, T9);
}
{
V Ti, Tk, Th, Tt, Tj;
Th = LD(&(x[WS(rs, 11)]), ms, &(x[WS(rs, 1)]));
Ti = BYTWJ(&(W[TWVL * 20]), Th);
Tt = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
Tu = BYTWJ(&(W[TWVL * 4]), Tt);
Tj = LD(&(x[WS(rs, 7)]), ms, &(x[WS(rs, 1)]));
Tk = BYTWJ(&(W[TWVL * 12]), Tj);
Tl = VSUB(Ti, Tk);
Tv = VADD(Tk, Ti);
Tw = VFNMS(LDK(KP500000000), Tv, Tu);
}
{
V Ts, TG, TF, TH;
{
V Tg, Tr, TB, TE;
Tg = VSUB(T7, Tf);
Tr = VADD(Tl, Tq);
Ts = VFMA(LDK(KP866025403), Tr, Tg);
TG = VFNMS(LDK(KP866025403), Tr, Tg);
TB = VSUB(Tw, TA);
TE = VSUB(TC, TD);
TF = VFNMS(LDK(KP866025403), TE, TB);
TH = VFMA(LDK(KP866025403), TE, TB);
}
ST(&(x[WS(rs, 1)]), VFNMSI(TF, Ts), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 7)]), VFMAI(TH, TG), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 11)]), VFMAI(TF, Ts), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 5)]), VFNMSI(TH, TG), ms, &(x[WS(rs, 1)]));
}
{
V TS, TW, TV, TX;
{
V TQ, TR, TT, TU;
TQ = VADD(T1, T6);
TR = VADD(T9, Te);
TS = VSUB(TQ, TR);
TW = VADD(TQ, TR);
TT = VADD(Tu, Tv);
TU = VADD(Ty, Tz);
TV = VSUB(TT, TU);
TX = VADD(TT, TU);
}
ST(&(x[WS(rs, 9)]), VFNMSI(TV, TS), ms, &(x[WS(rs, 1)]));
ST(&(x[0]), VADD(TW, TX), ms, &(x[0]));
ST(&(x[WS(rs, 3)]), VFMAI(TV, TS), ms, &(x[WS(rs, 1)]));
ST(&(x[WS(rs, 6)]), VSUB(TW, TX), ms, &(x[0]));
}
{
V TK, TO, TN, TP;
{
V TI, TJ, TL, TM;
TI = VADD(T7, Tf);
TJ = VADD(Tw, TA);
TK = VSUB(TI, TJ);
TO = VADD(TI, TJ);
TL = VSUB(Tl, Tq);
TM = VADD(TC, TD);
TN = VMUL(LDK(KP866025403), VSUB(TL, TM));
TP = VMUL(LDK(KP866025403), VADD(TM, TL));
}
ST(&(x[WS(rs, 2)]), VFMAI(TN, TK), ms, &(x[0]));
ST(&(x[WS(rs, 8)]), VFNMSI(TP, TO), ms, &(x[0]));
ST(&(x[WS(rs, 10)]), VFNMSI(TN, TK), ms, &(x[0]));
ST(&(x[WS(rs, 4)]), VFMAI(TP, TO), ms, &(x[0]));
}
}
}
VLEAVE();
}