當前位置: 首頁>>代碼示例>>C++>>正文


C++ BYTWJ函數代碼示例

本文整理匯總了C++中BYTWJ函數的典型用法代碼示例。如果您正苦於以下問題:C++ BYTWJ函數的具體用法?C++ BYTWJ怎麽用?C++ BYTWJ使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了BYTWJ函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。

示例1: 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

示例2: 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

示例3: t1fuv_3

static void t1fuv_3(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) * 4)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 4), MAKE_VOLATILE_STRIDE(rs)) {
	  V T1, T2, T4;
	  T1 = LD(&(x[0]), ms, &(x[0]));
	  T2 = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
	  T4 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
	  {
	       V T3, T5, T8, T6, T7;
	       T3 = BYTWJ(&(W[0]), T2);
	       T5 = BYTWJ(&(W[TWVL * 2]), T4);
	       T8 = VMUL(LDK(KP866025403), VSUB(T5, T3));
	       T6 = VADD(T3, T5);
	       T7 = VFNMS(LDK(KP500000000), T6, T1);
	       ST(&(x[0]), VADD(T1, T6), ms, &(x[0]));
	       ST(&(x[WS(rs, 1)]), VFMAI(T8, T7), ms, &(x[WS(rs, 1)]));
	       ST(&(x[WS(rs, 2)]), VFNMSI(T8, T7), ms, &(x[0]));
	  }
     }
}
開發者ID:8cH9azbsFifZ,項目名稱:wspr,代碼行數:25,代碼來源:t1fuv_3.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;
     BEGIN_SIMD();
     for (i = m; i > 0; i = i - VL, x = x + (VL * dist), W = W + (TWVL * 10)) {
	  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]));
	  }
     }
     END_SIMD();
     return W;
}
開發者ID:abrahamneben,項目名稱:orbcomm_beam_mapping,代碼行數:52,代碼來源:t1fv_6.c

示例5: t1fuv_6

static void t1fuv_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(rs)) {
	       V T1, T2, Ta, Tc, T5, T7;
	       T1 = LD(&(x[0]), ms, &(x[0]));
	       T2 = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
	       Ta = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
	       Tc = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
	       T5 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
	       T7 = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
	       {
		    V T3, Tb, Td, T6, T8;
		    T3 = BYTWJ(&(W[TWVL * 4]), T2);
		    Tb = BYTWJ(&(W[TWVL * 6]), Ta);
		    Td = BYTWJ(&(W[0]), Tc);
		    T6 = BYTWJ(&(W[TWVL * 2]), T5);
		    T8 = BYTWJ(&(W[TWVL * 8]), T7);
		    {
			 V Ti, T4, Tk, Te, Tj, T9;
			 Ti = VADD(T1, T3);
			 T4 = VSUB(T1, T3);
			 Tk = VADD(Tb, Td);
			 Te = VSUB(Tb, Td);
			 Tj = VADD(T6, T8);
			 T9 = VSUB(T6, T8);
			 {
			      V Tl, Tn, Tf, Th, Tm, Tg;
			      Tl = VADD(Tj, Tk);
			      Tn = VMUL(LDK(KP866025403), VSUB(Tk, Tj));
			      Tf = VADD(T9, Te);
			      Th = VMUL(LDK(KP866025403), VSUB(Te, T9));
			      ST(&(x[0]), VADD(Ti, Tl), ms, &(x[0]));
			      Tm = VFNMS(LDK(KP500000000), Tl, Ti);
			      ST(&(x[WS(rs, 3)]), VADD(T4, Tf), ms, &(x[WS(rs, 1)]));
			      Tg = VFNMS(LDK(KP500000000), Tf, T4);
			      ST(&(x[WS(rs, 2)]), VFNMSI(Tn, Tm), ms, &(x[0]));
			      ST(&(x[WS(rs, 4)]), VFMAI(Tn, Tm), ms, &(x[0]));
			      ST(&(x[WS(rs, 5)]), VFNMSI(Th, Tg), ms, &(x[WS(rs, 1)]));
			      ST(&(x[WS(rs, 1)]), VFMAI(Th, Tg), ms, &(x[WS(rs, 1)]));
			 }
		    }
	       }
	  }
     }
     VLEAVE();
}
開發者ID:dstuck,項目名稱:tinker_integrated_PIMC,代碼行數:52,代碼來源:t1fuv_6.c

示例6: 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

示例7: 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 T1, T2, Ta, Tc, T5, T7;
	  T1 = LD(&(x[0]), dist, &(x[0]));
	  T2 = LD(&(x[WS(ios, 3)]), dist, &(x[WS(ios, 1)]));
	  Ta = LD(&(x[WS(ios, 4)]), dist, &(x[0]));
	  Tc = LD(&(x[WS(ios, 1)]), dist, &(x[WS(ios, 1)]));
	  T5 = LD(&(x[WS(ios, 2)]), dist, &(x[0]));
	  T7 = LD(&(x[WS(ios, 5)]), dist, &(x[WS(ios, 1)]));
	  {
	       V T3, Tb, Td, T6, T8;
	       T3 = BYTWJ(&(W[TWVL * 4]), T2);
	       Tb = BYTWJ(&(W[TWVL * 6]), Ta);
	       Td = BYTWJ(&(W[0]), Tc);
	       T6 = BYTWJ(&(W[TWVL * 2]), T5);
	       T8 = BYTWJ(&(W[TWVL * 8]), T7);
	       {
		    V Ti, T4, Tk, Te, Tj, T9;
		    Ti = VADD(T1, T3);
		    T4 = VSUB(T1, T3);
		    Tk = VADD(Tb, Td);
		    Te = VSUB(Tb, Td);
		    Tj = VADD(T6, T8);
		    T9 = VSUB(T6, T8);
		    {
			 V Tl, Tn, Tf, Th, Tm, Tg;
			 Tl = VADD(Tj, Tk);
			 Tn = VMUL(LDK(KP866025403), VSUB(Tk, Tj));
			 Tf = VADD(T9, Te);
			 Th = VMUL(LDK(KP866025403), VSUB(Te, T9));
			 ST(&(x[0]), VADD(Ti, Tl), dist, &(x[0]));
			 Tm = VFNMS(LDK(KP500000000), Tl, Ti);
			 ST(&(x[WS(ios, 3)]), VADD(T4, Tf), dist, &(x[WS(ios, 1)]));
			 Tg = VFNMS(LDK(KP500000000), Tf, T4);
			 ST(&(x[WS(ios, 2)]), VFNMSI(Tn, Tm), dist, &(x[0]));
			 ST(&(x[WS(ios, 4)]), VFMAI(Tn, Tm), dist, &(x[0]));
			 ST(&(x[WS(ios, 5)]), VFNMSI(Th, Tg), dist, &(x[WS(ios, 1)]));
			 ST(&(x[WS(ios, 1)]), VFMAI(Th, Tg), dist, &(x[WS(ios, 1)]));
		    }
	       }
	  }
     }
     return W;
}
開發者ID:exic,項目名稱:last.fm-dbus,代碼行數:50,代碼來源:t1fv_6.c

示例8: 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(rs), MAKE_VOLATILE_STRIDE(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)]));
     }
}
開發者ID:phillipstanleymarbell,項目名稱:sunflower-simulator,代碼行數:19,代碼來源:q1fv_2.c

示例9: LD

static const R *q1fv_2(R *ri, R *ii, const R *W, stride is, stride vs, INT m, INT dist)
{
     INT i;
     R *x;
     x = ri;
     for (i = 0; i < m; i = i + VL, x = x + (VL * dist), W = W + (TWVL * 2), MAKE_VOLATILE_STRIDE(is), MAKE_VOLATILE_STRIDE(vs)) {
	  V T1, T2, T3, T4, T5, T6;
	  T1 = LD(&(x[0]), dist, &(x[0]));
	  T2 = LD(&(x[WS(is, 1)]), dist, &(x[WS(is, 1)]));
	  T3 = BYTWJ(&(W[0]), VSUB(T1, T2));
	  T4 = LD(&(x[WS(vs, 1)]), dist, &(x[WS(vs, 1)]));
	  T5 = LD(&(x[WS(vs, 1) + WS(is, 1)]), dist, &(x[WS(vs, 1) + WS(is, 1)]));
	  T6 = BYTWJ(&(W[0]), VSUB(T4, T5));
	  ST(&(x[WS(vs, 1)]), T3, dist, &(x[WS(vs, 1)]));
	  ST(&(x[WS(vs, 1) + WS(is, 1)]), T6, dist, &(x[WS(vs, 1) + WS(is, 1)]));
	  ST(&(x[0]), VADD(T1, T2), dist, &(x[0]));
	  ST(&(x[WS(is, 1)]), VADD(T4, T5), dist, &(x[WS(is, 1)]));
     }
     return W;
}
開發者ID:exic,項目名稱:last.fm-dbus,代碼行數:20,代碼來源:q1fv_2.c

示例10: 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(KP222520933, +0.222520933956314404288902564496794759466355569);
     DVK(KP623489801, +0.623489801858733530525004884004239810632274731);
     DVK(KP781831482, +0.781831482468029808708444526674057750232334519);
     DVK(KP974927912, +0.974927912181823607018131682993931217232785801);
     DVK(KP433883739, +0.433883739117558120475768332848358754609990728);
     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(rs)) {
	  V T1, Tg, Tj, T6, Ti, Tb, Tk, Tp, To;
	  T1 = LD(&(x[0]), ms, &(x[0]));
	  {
	       V Td, Tf, Tc, Te;
	       Tc = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
	       Td = BYTWJ(&(W[TWVL * 4]), Tc);
	       Te = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
	       Tf = BYTWJ(&(W[TWVL * 6]), Te);
	       Tg = VADD(Td, Tf);
	       Tj = VSUB(Tf, Td);
	  }
	  {
	       V T3, T5, T2, T4;
	       T2 = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
	       T3 = BYTWJ(&(W[0]), T2);
	       T4 = LD(&(x[WS(rs, 6)]), ms, &(x[0]));
	       T5 = BYTWJ(&(W[TWVL * 10]), T4);
	       T6 = VADD(T3, T5);
	       Ti = VSUB(T5, T3);
	  }
	  {
	       V T8, Ta, T7, T9;
	       T7 = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
	       T8 = BYTWJ(&(W[TWVL * 2]), T7);
	       T9 = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
	       Ta = BYTWJ(&(W[TWVL * 8]), T9);
	       Tb = VADD(T8, Ta);
	       Tk = VSUB(Ta, T8);
	  }
	  ST(&(x[0]), VADD(T1, VADD(T6, VADD(Tb, Tg))), ms, &(x[0]));
	  Tp = VBYI(VFMA(LDK(KP433883739), Ti, VFNMS(LDK(KP781831482), Tk, VMUL(LDK(KP974927912), Tj))));
	  To = VFMA(LDK(KP623489801), Tb, VFNMS(LDK(KP222520933), Tg, VFNMS(LDK(KP900968867), T6, T1)));
	  ST(&(x[WS(rs, 4)]), VSUB(To, Tp), ms, &(x[0]));
	  ST(&(x[WS(rs, 3)]), VADD(To, Tp), ms, &(x[WS(rs, 1)]));
	  {
	       V Tl, Th, Tn, Tm;
	       Tl = VBYI(VFNMS(LDK(KP781831482), Tj, VFNMS(LDK(KP433883739), Tk, VMUL(LDK(KP974927912), Ti))));
	       Th = VFMA(LDK(KP623489801), Tg, VFNMS(LDK(KP900968867), Tb, VFNMS(LDK(KP222520933), T6, T1)));
	       ST(&(x[WS(rs, 5)]), VSUB(Th, Tl), ms, &(x[WS(rs, 1)]));
	       ST(&(x[WS(rs, 2)]), VADD(Th, Tl), ms, &(x[0]));
	       Tn = VBYI(VFMA(LDK(KP781831482), Ti, VFMA(LDK(KP974927912), Tk, VMUL(LDK(KP433883739), Tj))));
	       Tm = VFMA(LDK(KP623489801), T6, VFNMS(LDK(KP900968867), Tg, VFNMS(LDK(KP222520933), Tb, T1)));
	       ST(&(x[WS(rs, 6)]), VSUB(Tm, Tn), ms, &(x[0]));
	       ST(&(x[WS(rs, 1)]), VADD(Tm, Tn), ms, &(x[WS(rs, 1)]));
	  }
     }
}
開發者ID:BackupTheBerlios,項目名稱:openvsipl,代碼行數:59,代碼來源:t1fuv_7.c

示例11: BEGIN_SIMD

static const R *q1fv_2(R *ri, R *ii, const R *W, stride is, stride vs, int m, int dist)
{
     int i;
     R *x;
     x = ri;
     BEGIN_SIMD();
     for (i = 0; i < m; i = i + VL, x = x + (VL * dist), W = W + (TWVL * 2)) {
	  V T1, T2, T3, T4, T5, T6;
	  T1 = LD(&(x[0]), dist, &(x[0]));
	  T2 = LD(&(x[WS(is, 1)]), dist, &(x[WS(is, 1)]));
	  T3 = BYTWJ(&(W[0]), VSUB(T1, T2));
	  T4 = LD(&(x[WS(vs, 1)]), dist, &(x[WS(vs, 1)]));
	  T5 = LD(&(x[WS(vs, 1) + WS(is, 1)]), dist, &(x[WS(vs, 1) + WS(is, 1)]));
	  T6 = BYTWJ(&(W[0]), VSUB(T4, T5));
	  ST(&(x[WS(vs, 1)]), T3, dist, &(x[WS(vs, 1)]));
	  ST(&(x[WS(vs, 1) + WS(is, 1)]), T6, dist, &(x[WS(vs, 1) + WS(is, 1)]));
	  ST(&(x[0]), VADD(T1, T2), dist, &(x[0]));
	  ST(&(x[WS(is, 1)]), VADD(T4, T5), dist, &(x[WS(is, 1)]));
     }
     END_SIMD();
     return W;
}
開發者ID:abrahamneben,項目名稱:orbcomm_beam_mapping,代碼行數:22,代碼來源:q1fv_2.c

示例12: LD

static const R *t2fv_2(R *ri, R *ii, const R *W, stride ios, INT m, INT dist)
{
     INT i;
     R *x;
     x = ri;
     for (i = m; i > 0; i = i - VL, x = x + (VL * dist), W = W + (TWVL * 2), MAKE_VOLATILE_STRIDE(ios)) {
	  V T1, T3, T2;
	  T1 = LD(&(x[0]), dist, &(x[0]));
	  T2 = LD(&(x[WS(ios, 1)]), dist, &(x[WS(ios, 1)]));
	  T3 = BYTWJ(&(W[0]), T2);
	  ST(&(x[WS(ios, 1)]), VSUB(T1, T3), dist, &(x[WS(ios, 1)]));
	  ST(&(x[0]), VADD(T1, T3), dist, &(x[0]));
     }
     return W;
}
開發者ID:exic,項目名稱:last.fm-dbus,代碼行數:15,代碼來源:t2fv_2.c

示例13: t1fuv_2

static void t1fuv_2(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) * 2)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 2), MAKE_VOLATILE_STRIDE(2, rs)) {
	       V T1, T3, T2;
	       T1 = LD(&(x[0]), ms, &(x[0]));
	       T2 = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
	       T3 = BYTWJ(&(W[0]), T2);
	       ST(&(x[WS(rs, 1)]), VSUB(T1, T3), ms, &(x[WS(rs, 1)]));
	       ST(&(x[0]), VADD(T1, T3), ms, &(x[0]));
	  }
     }
     VLEAVE();
}
開發者ID:barnex,項目名稱:fftw,代碼行數:17,代碼來源:dft_simd_sse2_t1fuv_2.c

示例14: BEGIN_SIMD

static const R *t1fv_2(R *ri, R *ii, const R *W, stride ios, int m, int dist)
{
     int i;
     R *x;
     x = ri;
     BEGIN_SIMD();
     for (i = m; i > 0; i = i - VL, x = x + (VL * dist), W = W + (TWVL * 2)) {
	  V T1, T3, T2;
	  T1 = LD(&(x[0]), dist, &(x[0]));
	  T2 = LD(&(x[WS(ios, 1)]), dist, &(x[WS(ios, 1)]));
	  T3 = BYTWJ(&(W[0]), T2);
	  ST(&(x[WS(ios, 1)]), VSUB(T1, T3), dist, &(x[WS(ios, 1)]));
	  ST(&(x[0]), VADD(T1, T3), dist, &(x[0]));
     }
     END_SIMD();
     return W;
}
開發者ID:abrahamneben,項目名稱:orbcomm_beam_mapping,代碼行數:17,代碼來源:t1fv_2.c

示例15: t1fuv_9

static void t1fuv_9(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
{
     DVK(KP939692620, +0.939692620785908384054109277324731469936208134);
     DVK(KP296198132, +0.296198132726023843175338011893050938967728390);
     DVK(KP852868531, +0.852868531952443209628250963940074071936020296);
     DVK(KP173648177, +0.173648177666930348851716626769314796000375677);
     DVK(KP556670399, +0.556670399226419366452912952047023132968291906);
     DVK(KP766044443, +0.766044443118978035202392650555416673935832457);
     DVK(KP642787609, +0.642787609686539326322643409907263432907559884);
     DVK(KP663413948, +0.663413948168938396205421319635891297216863310);
     DVK(KP984807753, +0.984807753012208059366743024589523013670643252);
     DVK(KP150383733, +0.150383733180435296639271897612501926072238258);
     DVK(KP342020143, +0.342020143325668733044099614682259580763083368);
     DVK(KP813797681, +0.813797681349373692844693217248393223289101568);
     DVK(KP500000000, +0.500000000000000000000000000000000000000000000);
     DVK(KP866025403, +0.866025403784438646763723170752936183471402627);
     {
	  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, T6, TA, Tt, Tf, Ts, Tw, Tn, Tv;
	       T1 = LD(&(x[0]), ms, &(x[0]));
	       {
		    V T3, T5, T2, T4;
		    T2 = LD(&(x[WS(rs, 3)]), ms, &(x[WS(rs, 1)]));
		    T3 = BYTWJ(&(W[TWVL * 4]), T2);
		    T4 = LD(&(x[WS(rs, 6)]), ms, &(x[0]));
		    T5 = BYTWJ(&(W[TWVL * 10]), T4);
		    T6 = VADD(T3, T5);
		    TA = VMUL(LDK(KP866025403), VSUB(T5, T3));
	       }
	       {
		    V T9, Td, Tb, T8, Tc, Ta, Te;
		    T8 = LD(&(x[WS(rs, 1)]), ms, &(x[WS(rs, 1)]));
		    T9 = BYTWJ(&(W[0]), T8);
		    Tc = LD(&(x[WS(rs, 7)]), ms, &(x[WS(rs, 1)]));
		    Td = BYTWJ(&(W[TWVL * 12]), Tc);
		    Ta = LD(&(x[WS(rs, 4)]), ms, &(x[0]));
		    Tb = BYTWJ(&(W[TWVL * 6]), Ta);
		    Tt = VSUB(Td, Tb);
		    Te = VADD(Tb, Td);
		    Tf = VADD(T9, Te);
		    Ts = VFNMS(LDK(KP500000000), Te, T9);
	       }
	       {
		    V Th, Tl, Tj, Tg, Tk, Ti, Tm;
		    Tg = LD(&(x[WS(rs, 2)]), ms, &(x[0]));
		    Th = BYTWJ(&(W[TWVL * 2]), Tg);
		    Tk = LD(&(x[WS(rs, 8)]), ms, &(x[0]));
		    Tl = BYTWJ(&(W[TWVL * 14]), Tk);
		    Ti = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));
		    Tj = BYTWJ(&(W[TWVL * 8]), Ti);
		    Tw = VSUB(Tl, Tj);
		    Tm = VADD(Tj, Tl);
		    Tn = VADD(Th, Tm);
		    Tv = VFNMS(LDK(KP500000000), Tm, Th);
	       }
	       {
		    V Tq, T7, To, Tp;
		    Tq = VBYI(VMUL(LDK(KP866025403), VSUB(Tn, Tf)));
		    T7 = VADD(T1, T6);
		    To = VADD(Tf, Tn);
		    Tp = VFNMS(LDK(KP500000000), To, T7);
		    ST(&(x[0]), VADD(T7, To), ms, &(x[0]));
		    ST(&(x[WS(rs, 3)]), VADD(Tp, Tq), ms, &(x[WS(rs, 1)]));
		    ST(&(x[WS(rs, 6)]), VSUB(Tp, Tq), ms, &(x[0]));
	       }
	       {
		    V TI, TB, TC, TD, Tu, Tx, Ty, Tr, TH;
		    TI = VBYI(VSUB(VFNMS(LDK(KP342020143), Tv, VFNMS(LDK(KP150383733), Tt, VFNMS(LDK(KP984807753), Ts, VMUL(LDK(KP813797681), Tw)))), TA));
		    TB = VFNMS(LDK(KP642787609), Ts, VMUL(LDK(KP663413948), Tt));
		    TC = VFNMS(LDK(KP984807753), Tv, VMUL(LDK(KP150383733), Tw));
		    TD = VADD(TB, TC);
		    Tu = VFMA(LDK(KP766044443), Ts, VMUL(LDK(KP556670399), Tt));
		    Tx = VFMA(LDK(KP173648177), Tv, VMUL(LDK(KP852868531), Tw));
		    Ty = VADD(Tu, Tx);
		    Tr = VFNMS(LDK(KP500000000), T6, T1);
		    TH = VFMA(LDK(KP173648177), Ts, VFNMS(LDK(KP296198132), Tw, VFNMS(LDK(KP939692620), Tv, VFNMS(LDK(KP852868531), Tt, Tr))));
		    ST(&(x[WS(rs, 7)]), VSUB(TH, TI), ms, &(x[WS(rs, 1)]));
		    ST(&(x[WS(rs, 2)]), VADD(TH, TI), ms, &(x[0]));
		    {
			 V Tz, TE, TF, TG;
			 Tz = VADD(Tr, Ty);
			 TE = VBYI(VADD(TA, TD));
			 ST(&(x[WS(rs, 8)]), VSUB(Tz, TE), ms, &(x[0]));
			 ST(&(x[WS(rs, 1)]), VADD(TE, Tz), ms, &(x[WS(rs, 1)]));
			 TF = VFMA(LDK(KP866025403), VSUB(TB, TC), VFNMS(LDK(KP500000000), Ty, Tr));
			 TG = VBYI(VADD(TA, VFNMS(LDK(KP500000000), TD, VMUL(LDK(KP866025403), VSUB(Tx, Tu)))));
			 ST(&(x[WS(rs, 5)]), VSUB(TF, TG), ms, &(x[WS(rs, 1)]));
			 ST(&(x[WS(rs, 4)]), VADD(TF, TG), ms, &(x[0]));
		    }
	       }
	  }
     }
     VLEAVE();
}
開發者ID:dstuck,項目名稱:tinker_integrated_PIMC,代碼行數:97,代碼來源:t1fuv_9.c


注:本文中的BYTWJ函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。