当前位置: 首页>>代码示例>>C++>>正文


C++ VBYI函数代码示例

本文整理汇总了C++中VBYI函数的典型用法代码示例。如果您正苦于以下问题:C++ VBYI函数的具体用法?C++ VBYI怎么用?C++ VBYI使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了VBYI函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: t1fv_6

static void t1fv_6(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
{
     DVK(KP500000000, +0.500000000000000000000000000000000000000000000);
     DVK(KP866025403, +0.866025403784438646763723170752936183471402627);
     {
	  INT m;
	  R *x;
	  x = ri;
	  for (m = mb, W = W + (mb * ((TWVL / VL) * 10)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 10), MAKE_VOLATILE_STRIDE(6, rs)) {
	       V T4, Ti, Te, Tk, T9, Tj, T1, T3, T2;
	       T1 = LD(&(x[0]), ms, &(x[0]));
	       T2 = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
	       T3 = BYTWJ(&(W[TWVL * 4]), T2);
	       T4 = VSUB(T1, T3);
	       Ti = VADD(T1, T3);
	       {
		    V Tb, Td, Ta, Tc;
		    Ta = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
		    Tb = BYTWJ(&(W[TWVL * 6]), Ta);
		    Tc = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
		    Td = BYTWJ(&(W[0]), Tc);
		    Te = VSUB(Tb, Td);
		    Tk = VADD(Tb, Td);
	       }
	       {
		    V T6, T8, T5, T7;
		    T5 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
		    T6 = BYTWJ(&(W[TWVL * 2]), T5);
		    T7 = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
		    T8 = BYTWJ(&(W[TWVL * 8]), T7);
		    T9 = VSUB(T6, T8);
		    Tj = VADD(T6, T8);
	       }
	       {
		    V Th, Tf, Tg, Tn, Tl, Tm;
		    Th = VBYI(VMUL(LDK(KP866025403), VSUB(Te, T9)));
		    Tf = VADD(T9, Te);
		    Tg = VFNMS(LDK(KP500000000), Tf, T4);
		    ST(&(x[WS(rs, 3)]), VADD(T4, Tf), ms, &(x[WS(rs, 1)]));
		    ST(&(x[WS(rs, 1)]), VADD(Tg, Th), ms, &(x[WS(rs, 1)]));
		    ST(&(x[WS(rs, 5)]), VSUB(Tg, Th), ms, &(x[WS(rs, 1)]));
		    Tn = VBYI(VMUL(LDK(KP866025403), VSUB(Tk, Tj)));
		    Tl = VADD(Tj, Tk);
		    Tm = VFNMS(LDK(KP500000000), Tl, Ti);
		    ST(&(x[0]), VADD(Ti, Tl), ms, &(x[0]));
		    ST(&(x[WS(rs, 4)]), VADD(Tm, Tn), ms, &(x[0]));
		    ST(&(x[WS(rs, 2)]), VSUB(Tm, Tn), ms, &(x[0]));
	       }
	  }
     }
     VLEAVE();
}
开发者ID:SKA-ScienceDataProcessor,项目名称:FastImaging,代码行数:52,代码来源:t1fv_6.c

示例2: 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(KP222520933, +0.222520933956314404288902564496794759466355569);
     DVK(KP900968867, +0.900968867902419126236102319507445051165919162);
     DVK(KP623489801, +0.623489801858733530525004884004239810632274731);
     DVK(KP433883739, +0.433883739117558120475768332848358754609990728);
     DVK(KP781831482, +0.781831482468029808708444526674057750232334519);
     DVK(KP974927912, +0.974927912181823607018131682993931217232785801);
     {
	  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, T9, Tc, T3, Te, T6, Td, T7, T8, Ti, Tj;
	       Tb = LD(&(xi[0]), ivs, &(xi[0]));
	       T7 = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
	       T8 = LD(&(xi[WS(is, 5)]), ivs, &(xi[WS(is, 1)]));
	       T9 = VSUB(T7, T8);
	       Tc = VADD(T7, T8);
	       {
		    V T1, T2, T4, T5;
		    T1 = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
		    T2 = LD(&(xi[WS(is, 6)]), ivs, &(xi[0]));
		    T3 = VSUB(T1, T2);
		    Te = VADD(T1, T2);
		    T4 = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
		    T5 = LD(&(xi[WS(is, 4)]), ivs, &(xi[0]));
		    T6 = VSUB(T4, T5);
		    Td = VADD(T4, T5);
	       }
	       ST(&(xo[0]), VADD(Tb, VADD(Te, VADD(Tc, Td))), ovs, &(xo[0]));
	       Ti = VBYI(VFNMS(LDK(KP781831482), T6, VFNMS(LDK(KP433883739), T9, VMUL(LDK(KP974927912), T3))));
	       Tj = VFMA(LDK(KP623489801), Td, VFNMS(LDK(KP900968867), Tc, VFNMS(LDK(KP222520933), Te, Tb)));
	       ST(&(xo[WS(os, 2)]), VADD(Ti, Tj), ovs, &(xo[0]));
	       ST(&(xo[WS(os, 5)]), VSUB(Tj, Ti), ovs, &(xo[WS(os, 1)]));
	       {
		    V Ta, Tf, Tg, Th;
		    Ta = VBYI(VFMA(LDK(KP433883739), T3, VFNMS(LDK(KP781831482), T9, VMUL(LDK(KP974927912), T6))));
		    Tf = VFMA(LDK(KP623489801), Tc, VFNMS(LDK(KP222520933), Td, VFNMS(LDK(KP900968867), Te, Tb)));
		    ST(&(xo[WS(os, 3)]), VADD(Ta, Tf), ovs, &(xo[WS(os, 1)]));
		    ST(&(xo[WS(os, 4)]), VSUB(Tf, Ta), ovs, &(xo[0]));
		    Tg = VBYI(VFMA(LDK(KP781831482), T3, VFMA(LDK(KP974927912), T9, VMUL(LDK(KP433883739), T6))));
		    Th = VFMA(LDK(KP623489801), Te, VFNMS(LDK(KP900968867), Td, VFNMS(LDK(KP222520933), Tc, Tb)));
		    ST(&(xo[WS(os, 1)]), VADD(Tg, Th), ovs, &(xo[WS(os, 1)]));
		    ST(&(xo[WS(os, 6)]), VSUB(Th, Tg), ovs, &(xo[0]));
	       }
	  }
     }
     VLEAVE();
}
开发者ID:BGCX261,项目名称:zpr-rozpoznawanie-dzwieku-git,代码行数:52,代码来源:n1bv_7.c

示例3: t1fv_5

static void t1fv_5(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
{
     DVK(KP250000000, +0.250000000000000000000000000000000000000000000);
     DVK(KP559016994, +0.559016994374947424102293417182819058860154590);
     DVK(KP587785252, +0.587785252292473129168705954639072768597652438);
     DVK(KP951056516, +0.951056516295153572116439333379382143405698634);
     {
	  INT m;
	  R *x;
	  x = ri;
	  for (m = mb, W = W + (mb * ((TWVL / VL) * 8)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 8), MAKE_VOLATILE_STRIDE(5, rs)) {
	       V Tc, Tg, Th, T5, Ta, Td;
	       Tc = LD(&(x[0]), ms, &(x[0]));
	       {
		    V T2, T9, T4, T7;
		    {
			 V T1, T8, T3, T6;
			 T1 = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
			 T2 = BYTWJ(&(W[0]), T1);
			 T8 = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
			 T9 = BYTWJ(&(W[TWVL * 4]), T8);
			 T3 = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
			 T4 = BYTWJ(&(W[TWVL * 6]), T3);
			 T6 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
			 T7 = BYTWJ(&(W[TWVL * 2]), T6);
		    }
		    Tg = VSUB(T2, T4);
		    Th = VSUB(T7, T9);
		    T5 = VADD(T2, T4);
		    Ta = VADD(T7, T9);
		    Td = VADD(T5, Ta);
	       }
	       ST(&(x[0]), VADD(Tc, Td), ms, &(x[0]));
	       {
		    V Ti, Tj, Tf, Tk, Tb, Te;
		    Ti = VBYI(VFMA(LDK(KP951056516), Tg, VMUL(LDK(KP587785252), Th)));
		    Tj = VBYI(VFNMS(LDK(KP587785252), Tg, VMUL(LDK(KP951056516), Th)));
		    Tb = VMUL(LDK(KP559016994), VSUB(T5, Ta));
		    Te = VFNMS(LDK(KP250000000), Td, Tc);
		    Tf = VADD(Tb, Te);
		    Tk = VSUB(Te, Tb);
		    ST(&(x[WS(rs, 1)]), VSUB(Tf, Ti), ms, &(x[WS(rs, 1)]));
		    ST(&(x[WS(rs, 3)]), VSUB(Tk, Tj), ms, &(x[WS(rs, 1)]));
		    ST(&(x[WS(rs, 4)]), VADD(Ti, Tf), ms, &(x[0]));
		    ST(&(x[WS(rs, 2)]), VADD(Tj, Tk), ms, &(x[0]));
	       }
	  }
     }
     VLEAVE();
}
开发者ID:SKA-ScienceDataProcessor,项目名称:FastImaging,代码行数:50,代码来源:t1fv_5.c

示例4: DVK

static const R *t1fv_6(R *ri, R *ii, const R *W, stride ios, INT m, INT dist)
{
     DVK(KP500000000, +0.500000000000000000000000000000000000000000000);
     DVK(KP866025403, +0.866025403784438646763723170752936183471402627);
     INT i;
     R *x;
     x = ri;
     for (i = m; i > 0; i = i - VL, x = x + (VL * dist), W = W + (TWVL * 10), MAKE_VOLATILE_STRIDE(ios)) {
	  V T4, Ti, Te, Tk, T9, Tj, T1, T3, T2;
	  T1 = LD(&(x[0]), dist, &(x[0]));
	  T2 = LD(&(x[WS(ios, 3)]), dist, &(x[WS(ios, 1)]));
	  T3 = BYTWJ(&(W[TWVL * 4]), T2);
	  T4 = VSUB(T1, T3);
	  Ti = VADD(T1, T3);
	  {
	       V Tb, Td, Ta, Tc;
	       Ta = LD(&(x[WS(ios, 4)]), dist, &(x[0]));
	       Tb = BYTWJ(&(W[TWVL * 6]), Ta);
	       Tc = LD(&(x[WS(ios, 1)]), dist, &(x[WS(ios, 1)]));
	       Td = BYTWJ(&(W[0]), Tc);
	       Te = VSUB(Tb, Td);
	       Tk = VADD(Tb, Td);
	  }
	  {
	       V T6, T8, T5, T7;
	       T5 = LD(&(x[WS(ios, 2)]), dist, &(x[0]));
	       T6 = BYTWJ(&(W[TWVL * 2]), T5);
	       T7 = LD(&(x[WS(ios, 5)]), dist, &(x[WS(ios, 1)]));
	       T8 = BYTWJ(&(W[TWVL * 8]), T7);
	       T9 = VSUB(T6, T8);
	       Tj = VADD(T6, T8);
	  }
	  {
	       V Th, Tf, Tg, Tn, Tl, Tm;
	       Th = VBYI(VMUL(LDK(KP866025403), VSUB(Te, T9)));
	       Tf = VADD(T9, Te);
	       Tg = VFNMS(LDK(KP500000000), Tf, T4);
	       ST(&(x[WS(ios, 3)]), VADD(T4, Tf), dist, &(x[WS(ios, 1)]));
	       ST(&(x[WS(ios, 1)]), VADD(Tg, Th), dist, &(x[WS(ios, 1)]));
	       ST(&(x[WS(ios, 5)]), VSUB(Tg, Th), dist, &(x[WS(ios, 1)]));
	       Tn = VBYI(VMUL(LDK(KP866025403), VSUB(Tk, Tj)));
	       Tl = VADD(Tj, Tk);
	       Tm = VFNMS(LDK(KP500000000), Tl, Ti);
	       ST(&(x[0]), VADD(Ti, Tl), dist, &(x[0]));
	       ST(&(x[WS(ios, 4)]), VADD(Tm, Tn), dist, &(x[0]));
	       ST(&(x[WS(ios, 2)]), VSUB(Tm, Tn), dist, &(x[0]));
	  }
     }
     return W;
}
开发者ID:exic,项目名称:last.fm-dbus,代码行数:50,代码来源:t1fv_6.c

示例5: t1buv_6

static void t1buv_6(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
{
     DVK(KP500000000, +0.500000000000000000000000000000000000000000000);
     DVK(KP866025403, +0.866025403784438646763723170752936183471402627);
     INT m;
     R *x;
     x = ii;
     for (m = mb, W = W + (mb * ((TWVL / VL) * 10)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 10), MAKE_VOLATILE_STRIDE(rs)) {
	  V Tf, Ti, Ta, Tk, T5, Tj, Tc, Te, Td;
	  Tc = LD(&(x[0]), ms, &(x[0]));
	  Td = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
	  Te = BYTW(&(W[TWVL * 4]), Td);
	  Tf = VSUB(Tc, Te);
	  Ti = VADD(Tc, Te);
	  {
	       V T7, T9, T6, T8;
	       T6 = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
	       T7 = BYTW(&(W[TWVL * 6]), T6);
	       T8 = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
	       T9 = BYTW(&(W[0]), T8);
	       Ta = VSUB(T7, T9);
	       Tk = VADD(T7, T9);
	  }
	  {
	       V T2, T4, T1, T3;
	       T1 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
	       T2 = BYTW(&(W[TWVL * 2]), T1);
	       T3 = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
	       T4 = BYTW(&(W[TWVL * 8]), T3);
	       T5 = VSUB(T2, T4);
	       Tj = VADD(T2, T4);
	  }
	  {
	       V Tb, Tg, Th, Tn, Tl, Tm;
	       Tb = VBYI(VMUL(LDK(KP866025403), VSUB(T5, Ta)));
	       Tg = VADD(T5, Ta);
	       Th = VFNMS(LDK(KP500000000), Tg, Tf);
	       ST(&(x[WS(rs, 1)]), VADD(Tb, Th), ms, &(x[WS(rs, 1)]));
	       ST(&(x[WS(rs, 3)]), VADD(Tf, Tg), ms, &(x[WS(rs, 1)]));
	       ST(&(x[WS(rs, 5)]), VSUB(Th, Tb), ms, &(x[WS(rs, 1)]));
	       Tn = VBYI(VMUL(LDK(KP866025403), VSUB(Tj, Tk)));
	       Tl = VADD(Tj, Tk);
	       Tm = VFNMS(LDK(KP500000000), Tl, Ti);
	       ST(&(x[WS(rs, 2)]), VSUB(Tm, Tn), ms, &(x[0]));
	       ST(&(x[0]), VADD(Ti, Tl), ms, &(x[0]));
	       ST(&(x[WS(rs, 4)]), VADD(Tn, Tm), ms, &(x[0]));
	  }
     }
}
开发者ID:8cH9azbsFifZ,项目名称:wspr,代码行数:49,代码来源:t1buv_6.c

示例6: t1fuv_4

static void t1fuv_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) * 6)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 6), MAKE_VOLATILE_STRIDE(4, rs)) {
            V T1, T8, T3, T6, T7, T2, T5;
            T1 = LD(&(x[0]), ms, &(x[0]));
            T7 = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
            T8 = BYTWJ(&(W[TWVL * 4]), T7);
            T2 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
            T3 = BYTWJ(&(W[TWVL * 2]), T2);
            T5 = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
            T6 = BYTWJ(&(W[0]), T5);
            {
                V T4, T9, Ta, Tb;
                T4 = VSUB(T1, T3);
                T9 = VBYI(VSUB(T6, T8));
                ST(&(x[WS(rs, 1)]), VSUB(T4, T9), ms, &(x[WS(rs, 1)]));
                ST(&(x[WS(rs, 3)]), VADD(T4, T9), ms, &(x[WS(rs, 1)]));
                Ta = VADD(T1, T3);
                Tb = VADD(T6, T8);
                ST(&(x[WS(rs, 2)]), VSUB(Ta, Tb), ms, &(x[0]));
                ST(&(x[0]), VADD(Ta, Tb), ms, &(x[0]));
            }
        }
    }
    VLEAVE();
}
开发者ID:bohrasd,项目名称:windowsrtdev,代码行数:30,代码来源:t1fuv_4.c

示例7: DVK

static const R *t1fv_3(R *ri, R *ii, const R *W, stride ios, int m, int dist)
{
     DVK(KP866025403, +0.866025403784438646763723170752936183471402627);
     DVK(KP500000000, +0.500000000000000000000000000000000000000000000);
     int i;
     R *x;
     x = ri;
     BEGIN_SIMD();
     for (i = m; i > 0; i = i - VL, x = x + (VL * dist), W = W + (TWVL * 4)) {
	  V T1, T3, T5, T6, T2, T4, T7, T8;
	  T1 = LD(&(x[0]), dist, &(x[0]));
	  T2 = LD(&(x[WS(ios, 1)]), dist, &(x[WS(ios, 1)]));
	  T3 = BYTWJ(&(W[0]), T2);
	  T4 = LD(&(x[WS(ios, 2)]), dist, &(x[0]));
	  T5 = BYTWJ(&(W[TWVL * 2]), T4);
	  T6 = VADD(T3, T5);
	  ST(&(x[0]), VADD(T1, T6), dist, &(x[0]));
	  T7 = VFNMS(LDK(KP500000000), T6, T1);
	  T8 = VBYI(VMUL(LDK(KP866025403), VSUB(T5, T3)));
	  ST(&(x[WS(ios, 2)]), VSUB(T7, T8), dist, &(x[0]));
	  ST(&(x[WS(ios, 1)]), VADD(T7, T8), dist, &(x[WS(ios, 1)]));
     }
     END_SIMD();
     return W;
}
开发者ID:OS2World,项目名称:MM-SOUND-PM123,代码行数:25,代码来源:t1fv_3.c

示例8: n1bv_4

static void n1bv_4(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 T3, T7, T6, T8;
	  {
	       V T1, T2, T4, T5;
	       T1 = LD(&(xi[0]), ivs, &(xi[0]));
	       T2 = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
	       T3 = VSUB(T1, T2);
	       T7 = VADD(T1, T2);
	       T4 = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
	       T5 = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
	       T6 = VBYI(VSUB(T4, T5));
	       T8 = VADD(T4, T5);
	  }
	  ST(&(xo[WS(os, 3)]), VSUB(T3, T6), ovs, &(xo[WS(os, 1)]));
	  ST(&(xo[0]), VADD(T7, T8), ovs, &(xo[0]));
	  ST(&(xo[WS(os, 1)]), VADD(T3, T6), ovs, &(xo[WS(os, 1)]));
	  ST(&(xo[WS(os, 2)]), VSUB(T7, T8), ovs, &(xo[0]));
     }
}
开发者ID:BackupTheBerlios,项目名称:openvsipl,代码行数:26,代码来源:n1bv_4.c

示例9: n1fv_3

static void n1fv_3(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
{
     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(is), MAKE_VOLATILE_STRIDE(os)) {
	       V T1, T4, T6, T2, T3, T5;
	       T1 = LD(&(xi[0]), ivs, &(xi[0]));
	       T2 = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
	       T3 = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
	       T4 = VADD(T2, T3);
	       T6 = VBYI(VMUL(LDK(KP866025403), VSUB(T3, T2)));
	       ST(&(xo[0]), VADD(T1, T4), ovs, &(xo[0]));
	       T5 = VFNMS(LDK(KP500000000), T4, T1);
	       ST(&(xo[WS(os, 2)]), VSUB(T5, T6), ovs, &(xo[0]));
	       ST(&(xo[WS(os, 1)]), VADD(T5, T6), ovs, &(xo[WS(os, 1)]));
	  }
     }
     VLEAVE();
}
开发者ID:BGCX261,项目名称:zpr-rozpoznawanie-dzwieku-git,代码行数:25,代码来源:n1fv_3.c

示例10: n2fv_4

static void n2fv_4(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(is), MAKE_VOLATILE_STRIDE(os)) {
	  V T3, T7, T6, T8;
	  {
	       V T1, T2, T4, T5;
	       T1 = LD(&(xi[0]), ivs, &(xi[0]));
	       T2 = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
	       T3 = VSUB(T1, T2);
	       T7 = VADD(T1, T2);
	       T4 = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
	       T5 = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
	       T6 = VBYI(VSUB(T4, T5));
	       T8 = VADD(T4, T5);
	  }
	  {
	       V T9, Ta, Tb, Tc;
	       T9 = VSUB(T3, T6);
	       STM2(&(xo[2]), T9, ovs, &(xo[2]));
	       Ta = VADD(T7, T8);
	       STM2(&(xo[0]), Ta, ovs, &(xo[0]));
	       STN2(&(xo[0]), Ta, T9, ovs);
	       Tb = VADD(T3, T6);
	       STM2(&(xo[6]), Tb, ovs, &(xo[2]));
	       Tc = VSUB(T7, T8);
	       STM2(&(xo[4]), Tc, ovs, &(xo[0]));
	       STN2(&(xo[4]), Tc, Tb, ovs);
	  }
     }
}
开发者ID:exic,项目名称:last.fm-dbus,代码行数:35,代码来源:n2fv_4.c

示例11: 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(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]));
     }
}
开发者ID:BackupTheBerlios,项目名称:openvsipl,代码行数:34,代码来源:hc2cfdftv_4.c

示例12: t1fv_3

static void t1fv_3(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 = 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(3, rs)) {
	       V T1, T3, T5, T6, T2, T4, T7, T8;
	       T1 = LD(&(x[0]), ms, &(x[0]));
	       T2 = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
	       T3 = BYTWJ(&(W[0]), T2);
	       T4 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
	       T5 = BYTWJ(&(W[TWVL * 2]), T4);
	       T6 = VADD(T3, T5);
	       ST(&(x[0]), VADD(T1, T6), ms, &(x[0]));
	       T7 = VFNMS(LDK(KP500000000), T6, T1);
	       T8 = VBYI(VMUL(LDK(KP866025403), VSUB(T5, T3)));
	       ST(&(x[WS(rs, 2)]), VSUB(T7, T8), ms, &(x[0]));
	       ST(&(x[WS(rs, 1)]), VADD(T7, T8), ms, &(x[WS(rs, 1)]));
	  }
     }
     VLEAVE();
}
开发者ID:SKA-ScienceDataProcessor,项目名称:FastImaging,代码行数:25,代码来源:t1fv_3.c

示例13: 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(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]));
	       }
	  }
     }
}
开发者ID:BackupTheBerlios,项目名称:openvsipl,代码行数:33,代码来源:t3fv_4.c

示例14: n1bv_4

static void n1bv_4(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;
     BEGIN_SIMD();
     for (i = v; i > 0; i = i - VL, xi = xi + (VL * ivs), xo = xo + (VL * ovs)) {
	  V T3, T7, T6, T8;
	  {
	       V T1, T2, T4, T5;
	       T1 = LD(&(xi[0]), ivs, &(xi[0]));
	       T2 = LD(&(xi[WS(is, 2)]), ivs, &(xi[0]));
	       T3 = VSUB(T1, T2);
	       T7 = VADD(T1, T2);
	       T4 = LD(&(xi[WS(is, 1)]), ivs, &(xi[WS(is, 1)]));
	       T5 = LD(&(xi[WS(is, 3)]), ivs, &(xi[WS(is, 1)]));
	       T6 = VBYI(VSUB(T4, T5));
	       T8 = VADD(T4, T5);
	  }
	  ST(&(xo[WS(os, 3)]), VSUB(T3, T6), ovs, &(xo[WS(os, 1)]));
	  ST(&(xo[0]), VADD(T7, T8), ovs, &(xo[0]));
	  ST(&(xo[WS(os, 1)]), VADD(T3, T6), ovs, &(xo[WS(os, 1)]));
	  ST(&(xo[WS(os, 2)]), VSUB(T7, T8), ovs, &(xo[0]));
     }
     END_SIMD();
}
开发者ID:OS2World,项目名称:MM-SOUND-PM123,代码行数:28,代码来源:n1bv_4.c

示例15: 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)]));
     }
}
开发者ID:BackupTheBerlios,项目名称:openvsipl,代码行数:33,代码来源:hc2cbdftv_4.c


注:本文中的VBYI函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。