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


C++ ST函数代码示例

本文整理汇总了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)]));
//.........这里部分代码省略.........
开发者ID:Aegisub,项目名称:fftw3,代码行数:101,代码来源:t1bv_12.c

示例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();
}
开发者ID:SKA-ScienceDataProcessor,项目名称:FastImaging,代码行数:88,代码来源:n1fv_9.c

示例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();
}
开发者ID:abrahamneben,项目名称:orbcomm_beam_mapping,代码行数:77,代码来源:n1bv_11.c

示例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]));
	  }
	  {
//.........这里部分代码省略.........
开发者ID:OS2World,项目名称:MM-SOUND-PM123,代码行数:101,代码来源:n2bv_14.c

示例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();
}
开发者ID:Enny1991,项目名称:ExApp,代码行数:67,代码来源:n1bv_7.c

示例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);
开发者ID:abrahamneben,项目名称:orbcomm_beam_mapping,代码行数:67,代码来源:m2bv_64.c

示例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();
}
开发者ID:dstuck,项目名称:tinker_integrated_PIMC,代码行数:96,代码来源:t1fuv_10.c

示例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);
//.........这里部分代码省略.........
开发者ID:dstuck,项目名称:tinker_integrated_PIMC,代码行数:101,代码来源:n1fv_13.c

示例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 */
开发者ID:mojadita,项目名称:ircbot,代码行数:89,代码来源:input.c

示例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)]));
//.........这里部分代码省略.........
开发者ID:Enny1991,项目名称:ExApp,代码行数:101,代码来源:n1fv_32.c

示例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)]));
     }
}
开发者ID:bambang,项目名称:vsipl,代码行数:82,代码来源:q1fv_4.c

示例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));
//.........这里部分代码省略.........
开发者ID:BackupTheBerlios,项目名称:openvsipl,代码行数:101,代码来源:t1bv_9.c

示例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);
//.........这里部分代码省略.........
开发者ID:phillipstanleymarbell,项目名称:sunflower-simulator,代码行数:101,代码来源:n1bv_25.c

示例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)]));
	       }
	  }
     }
}
开发者ID:8cH9azbsFifZ,项目名称:wspr,代码行数:66,代码来源:t2fv_8.c

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


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