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


C++ DK函数代码示例

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


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

示例1: r2cfII_20

static void r2cfII_20(R *R0, R *R1, R *Cr, R *Ci, stride rs, stride csr, stride csi, INT v, INT ivs, INT ovs)
{
     DK(KP572061402, +0.572061402817684297600072783580302076536153377);
     DK(KP218508012, +0.218508012224410535399650602527877556893735408);
     DK(KP309016994, +0.309016994374947424102293417182819058860154590);
     DK(KP809016994, +0.809016994374947424102293417182819058860154590);
     DK(KP559016994, +0.559016994374947424102293417182819058860154590);
     DK(KP951056516, +0.951056516295153572116439333379382143405698634);
     DK(KP587785252, +0.587785252292473129168705954639072768597652438);
     DK(KP250000000, +0.250000000000000000000000000000000000000000000);
     DK(KP176776695, +0.176776695296636881100211090526212259821208984);
     DK(KP395284707, +0.395284707521047416499861693054089816714944392);
     DK(KP672498511, +0.672498511963957326960058968885748755876783111);
     DK(KP415626937, +0.415626937777453428589967464113135184222253485);
     DK(KP707106781, +0.707106781186547524400844362104849039284835938);
     {
	  INT i;
	  for (i = v; i > 0; i = i - 1, R0 = R0 + ivs, R1 = R1 + ivs, Cr = Cr + ovs, Ci = Ci + ovs, MAKE_VOLATILE_STRIDE(rs), MAKE_VOLATILE_STRIDE(csr), MAKE_VOLATILE_STRIDE(csi)) {
	       E T8, TD, Tm, TN, T9, TC, TY, TE, Te, TF, Tl, TK, T12, TL, Tk;
	       E TM, T1, T6, Tq, T1l, T1c, Tp, T1f, T1e, T1d, Ty, TW, T1g, T1m, Tx;
	       E Tu;
	       T8 = R1[WS(rs, 2)];
	       TD = KP707106781 * T8;
	       Tm = R1[WS(rs, 7)];
	       TN = KP707106781 * Tm;
	       {
		    E Ta, TA, Td, TB, Tb, Tc;
		    T9 = R1[WS(rs, 6)];
		    Ta = R1[WS(rs, 8)];
		    TA = T9 + Ta;
		    Tb = R1[0];
		    Tc = R1[WS(rs, 4)];
		    Td = Tb + Tc;
		    TB = Tb - Tc;
		    TC = FMA(KP415626937, TA, KP672498511 * TB);
		    TY = FNMS(KP415626937, TB, KP672498511 * TA);
		    TE = KP395284707 * (Ta - Td);
		    Te = Ta + Td;
		    TF = KP176776695 * Te;
	       }
	       {
		    E Tg, TJ, Tj, TI, Th, Ti;
		    Tg = R1[WS(rs, 1)];
		    Tl = R1[WS(rs, 3)];
		    TJ = Tg + Tl;
		    Th = R1[WS(rs, 5)];
		    Ti = R1[WS(rs, 9)];
		    Tj = Th + Ti;
		    TI = Th - Ti;
		    TK = FNMS(KP415626937, TJ, KP672498511 * TI);
		    T12 = FMA(KP415626937, TI, KP672498511 * TJ);
		    TL = KP395284707 * (Tg - Tj);
		    Tk = Tg + Tj;
		    TM = KP176776695 * Tk;
	       }
	       {
		    E T2, T5, T3, T4, T1a, T1b;
		    T1 = R0[0];
		    T2 = R0[WS(rs, 6)];
		    T5 = R0[WS(rs, 8)];
		    T3 = R0[WS(rs, 2)];
		    T4 = R0[WS(rs, 4)];
		    T1a = T4 + T2;
		    T1b = T5 + T3;
		    T6 = T2 + T3 - (T4 + T5);
		    Tq = FMA(KP250000000, T6, T1);
		    T1l = FNMS(KP951056516, T1b, KP587785252 * T1a);
		    T1c = FMA(KP951056516, T1a, KP587785252 * T1b);
		    Tp = KP559016994 * (T5 + T2 - (T4 + T3));
	       }
	       T1f = R0[WS(rs, 5)];
	       {
		    E Tv, Tw, Ts, Tt;
		    Tv = R0[WS(rs, 9)];
		    Tw = R0[WS(rs, 1)];
		    Tx = Tv - Tw;
		    T1e = Tv + Tw;
		    Ts = R0[WS(rs, 3)];
		    Tt = R0[WS(rs, 7)];
		    Tu = Ts - Tt;
		    T1d = Ts + Tt;
	       }
	       Ty = FMA(KP951056516, Tu, KP587785252 * Tx);
	       TW = FNMS(KP951056516, Tx, KP587785252 * Tu);
	       T1g = FMA(KP809016994, T1d, KP309016994 * T1e) + T1f;
	       T1m = FNMS(KP809016994, T1e, T1f) - (KP309016994 * T1d);
	       {
		    E T7, T1r, To, T1q, Tf, Tn;
		    T7 = T1 - T6;
		    T1r = T1e + T1f - T1d;
		    Tf = T8 + (T9 - Te);
		    Tn = (Tk - Tl) - Tm;
		    To = KP707106781 * (Tf + Tn);
		    T1q = KP707106781 * (Tf - Tn);
		    Cr[WS(csr, 2)] = T7 - To;
		    Ci[WS(csi, 2)] = T1q - T1r;
		    Cr[WS(csr, 7)] = T7 + To;
		    Ci[WS(csi, 7)] = T1q + T1r;
	       }
	       {
//.........这里部分代码省略.........
开发者ID:AlexanderB1290,项目名称:scafacos,代码行数:101,代码来源:r2cfII_20.c

示例2: hc2cfdft_8

static void hc2cfdft_8(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms)
{
     DK(KP353553390, +0.353553390593273762200422181052424519642417969);
     DK(KP500000000, +0.500000000000000000000000000000000000000000000);
     {
	  INT m;
	  for (m = mb, W = W + ((mb - 1) * 14); m < me; m = m + 1, Rp = Rp + ms, Ip = Ip + ms, Rm = Rm - ms, Im = Im - ms, W = W + 14, MAKE_VOLATILE_STRIDE(32, rs)) {
	       E Tv, TX, Ts, TY, TE, T1a, TJ, T19, T1l, T1m, T9, T10, Ti, T11, TP;
	       E T16, TU, T17, T1i, T1j;
	       {
		    E Tt, Tu, TD, Tz, TA, TB, Tn, TI, Tr, TG, Tk, To;
		    Tt = Ip[0];
		    Tu = Im[0];
		    TD = Tt + Tu;
		    Tz = Rm[0];
		    TA = Rp[0];
		    TB = Tz - TA;
		    {
			 E Tl, Tm, Tp, Tq;
			 Tl = Ip[WS(rs, 2)];
			 Tm = Im[WS(rs, 2)];
			 Tn = Tl - Tm;
			 TI = Tl + Tm;
			 Tp = Rp[WS(rs, 2)];
			 Tq = Rm[WS(rs, 2)];
			 Tr = Tp + Tq;
			 TG = Tp - Tq;
		    }
		    Tv = Tt - Tu;
		    TX = TA + Tz;
		    Tk = W[6];
		    To = W[7];
		    Ts = FNMS(To, Tr, Tk * Tn);
		    TY = FMA(Tk, Tr, To * Tn);
		    {
			 E Ty, TC, TF, TH;
			 Ty = W[0];
			 TC = W[1];
			 TE = FNMS(TC, TD, Ty * TB);
			 T1a = FMA(TC, TB, Ty * TD);
			 TF = W[8];
			 TH = W[9];
			 TJ = FMA(TF, TG, TH * TI);
			 T19 = FNMS(TH, TG, TF * TI);
		    }
		    T1l = TJ + TE;
		    T1m = T1a - T19;
	       }
	       {
		    E T4, TO, T8, TM, Td, TT, Th, TR;
		    {
			 E T2, T3, T6, T7;
			 T2 = Ip[WS(rs, 1)];
			 T3 = Im[WS(rs, 1)];
			 T4 = T2 - T3;
			 TO = T2 + T3;
			 T6 = Rp[WS(rs, 1)];
			 T7 = Rm[WS(rs, 1)];
			 T8 = T6 + T7;
			 TM = T6 - T7;
		    }
		    {
			 E Tb, Tc, Tf, Tg;
			 Tb = Ip[WS(rs, 3)];
			 Tc = Im[WS(rs, 3)];
			 Td = Tb - Tc;
			 TT = Tb + Tc;
			 Tf = Rp[WS(rs, 3)];
			 Tg = Rm[WS(rs, 3)];
			 Th = Tf + Tg;
			 TR = Tf - Tg;
		    }
		    {
			 E T1, T5, Ta, Te;
			 T1 = W[2];
			 T5 = W[3];
			 T9 = FNMS(T5, T8, T1 * T4);
			 T10 = FMA(T1, T8, T5 * T4);
			 Ta = W[10];
			 Te = W[11];
			 Ti = FNMS(Te, Th, Ta * Td);
			 T11 = FMA(Ta, Th, Te * Td);
			 {
			      E TL, TN, TQ, TS;
			      TL = W[4];
			      TN = W[5];
			      TP = FMA(TL, TM, TN * TO);
			      T16 = FNMS(TN, TM, TL * TO);
			      TQ = W[12];
			      TS = W[13];
			      TU = FMA(TQ, TR, TS * TT);
			      T17 = FNMS(TS, TR, TQ * TT);
			 }
			 T1i = T17 - T16;
			 T1j = TP - TU;
		    }
	       }
	       {
		    E T1h, T1t, T1w, T1y, T1o, T1s, T1r, T1x;
		    {
//.........这里部分代码省略.........
开发者ID:SKA-ScienceDataProcessor,项目名称:FastImaging,代码行数:101,代码来源:hc2cfdft_8.c

示例3: hc2r_9

static void hc2r_9(const R *ri, const R *ii, R *O, stride ris, stride iis, stride os, int v, int ivs, int ovs)
{
     DK(KP984807753, +0.984807753012208059366743024589523013670643252);
     DK(KP173648177, +0.173648177666930348851716626769314796000375677);
     DK(KP300767466, +0.300767466360870593278543795225003852144476517);
     DK(KP1_705737063, +1.705737063904886419256501927880148143872040591);
     DK(KP642787609, +0.642787609686539326322643409907263432907559884);
     DK(KP766044443, +0.766044443118978035202392650555416673935832457);
     DK(KP1_326827896, +1.326827896337876792410842639271782594433726619);
     DK(KP1_113340798, +1.113340798452838732905825904094046265936583811);
     DK(KP500000000, +0.500000000000000000000000000000000000000000000);
     DK(KP866025403, +0.866025403784438646763723170752936183471402627);
     DK(KP2_000000000, +2.000000000000000000000000000000000000000000000);
     DK(KP1_732050807, +1.732050807568877293527446341505872366942805254);
     int i;
     for (i = v; i > 0; i = i - 1, ri = ri + ivs, ii = ii + ivs, O = O + ovs) {
	  E T3, Tq, Tc, Tk, Tj, T8, Tm, Ts, Th, Tr, Tw, Tx;
	  {
	       E Tb, T1, T2, T9, Ta;
	       Ta = ii[WS(iis, 3)];
	       Tb = KP1_732050807 * Ta;
	       T1 = ri[0];
	       T2 = ri[WS(ris, 3)];
	       T9 = T1 - T2;
	       T3 = FMA(KP2_000000000, T2, T1);
	       Tq = T9 + Tb;
	       Tc = T9 - Tb;
	  }
	  {
	       E T4, T7, Ti, Tg, Tl, Td;
	       T4 = ri[WS(ris, 1)];
	       Tk = ii[WS(iis, 1)];
	       {
		    E T5, T6, Te, Tf;
		    T5 = ri[WS(ris, 4)];
		    T6 = ri[WS(ris, 2)];
		    T7 = T5 + T6;
		    Ti = KP866025403 * (T5 - T6);
		    Te = ii[WS(iis, 4)];
		    Tf = ii[WS(iis, 2)];
		    Tg = KP866025403 * (Te + Tf);
		    Tj = Tf - Te;
	       }
	       T8 = T4 + T7;
	       Tl = FMA(KP500000000, Tj, Tk);
	       Tm = Ti + Tl;
	       Ts = Tl - Ti;
	       Td = FNMS(KP500000000, T7, T4);
	       Th = Td - Tg;
	       Tr = Td + Tg;
	  }
	  O[0] = FMA(KP2_000000000, T8, T3);
	  Tw = T3 - T8;
	  Tx = KP1_732050807 * (Tk - Tj);
	  O[WS(os, 3)] = Tw - Tx;
	  O[WS(os, 6)] = Tw + Tx;
	  {
	       E Tp, Tn, To, Tv, Tt, Tu;
	       Tp = FMA(KP1_113340798, Th, KP1_326827896 * Tm);
	       Tn = FNMS(KP642787609, Tm, KP766044443 * Th);
	       To = Tc - Tn;
	       O[WS(os, 1)] = FMA(KP2_000000000, Tn, Tc);
	       O[WS(os, 7)] = To + Tp;
	       O[WS(os, 4)] = To - Tp;
	       Tv = FMA(KP1_705737063, Tr, KP300767466 * Ts);
	       Tt = FNMS(KP984807753, Ts, KP173648177 * Tr);
	       Tu = Tq - Tt;
	       O[WS(os, 2)] = FMA(KP2_000000000, Tt, Tq);
	       O[WS(os, 8)] = Tu + Tv;
	       O[WS(os, 5)] = Tu - Tv;
	  }
     }
}
开发者ID:OS2World,项目名称:MM-SOUND-PM123,代码行数:73,代码来源:hc2r_9.c

示例4: hb2_16

static void hb2_16(R *cr, R *ci, const R *W, stride rs, INT mb, INT me, INT ms)
{
     DK(KP382683432, +0.382683432365089771728459984030398866761344562);
     DK(KP923879532, +0.923879532511286756128183189396788286822416626);
     DK(KP707106781, +0.707106781186547524400844362104849039284835938);
     {
	  INT m;
	  for (m = mb, W = W + ((mb - 1) * 8); m < me; m = m + 1, cr = cr + ms, ci = ci - ms, W = W + 8, MAKE_VOLATILE_STRIDE(32, rs)) {
	       E Tv, Ty, T1l, T1n, T1p, T1t, T27, T25, Tz, Tw, TB, T21, T1P, T1H, T1X;
	       E T17, T1L, T1N, T1v, T1w, T1x, T1B, T2F, T2T, T2b, T2R, T3j, T3x, T35, T3t;
	       {
		    E TA, T1J, T15, T1G, Tx, T1K, T16, T1F;
		    {
			 E T1m, T1s, T1o, T1r;
			 Tv = W[0];
			 Ty = W[1];
			 T1l = W[2];
			 T1n = W[3];
			 T1m = Tv * T1l;
			 T1s = Ty * T1l;
			 T1o = Ty * T1n;
			 T1r = Tv * T1n;
			 T1p = T1m + T1o;
			 T1t = T1r - T1s;
			 T27 = T1r + T1s;
			 T25 = T1m - T1o;
			 Tz = W[5];
			 TA = Ty * Tz;
			 T1J = T1l * Tz;
			 T15 = Tv * Tz;
			 T1G = T1n * Tz;
			 Tw = W[4];
			 Tx = Tv * Tw;
			 T1K = T1n * Tw;
			 T16 = Ty * Tw;
			 T1F = T1l * Tw;
		    }
		    TB = Tx - TA;
		    T21 = T1J + T1K;
		    T1P = T15 - T16;
		    T1H = T1F + T1G;
		    T1X = T1F - T1G;
		    T17 = T15 + T16;
		    T1L = T1J - T1K;
		    T1N = Tx + TA;
		    T1v = W[6];
		    T1w = W[7];
		    T1x = FMA(Tv, T1v, Ty * T1w);
		    T1B = FNMS(Ty, T1v, Tv * T1w);
		    {
			 E T2D, T2E, T29, T2a;
			 T2D = T25 * Tz;
			 T2E = T27 * Tw;
			 T2F = T2D + T2E;
			 T2T = T2D - T2E;
			 T29 = T25 * Tw;
			 T2a = T27 * Tz;
			 T2b = T29 - T2a;
			 T2R = T29 + T2a;
		    }
		    {
			 E T3h, T3i, T33, T34;
			 T3h = T1p * Tz;
			 T3i = T1t * Tw;
			 T3j = T3h + T3i;
			 T3x = T3h - T3i;
			 T33 = T1p * Tw;
			 T34 = T1t * Tz;
			 T35 = T33 - T34;
			 T3t = T33 + T34;
		    }
	       }
	       {
		    E T7, T36, T3k, TC, T1f, T2e, T2I, T1Q, Te, TJ, T1R, T18, T2L, T37, T2l;
		    E T3l, Tm, T1T, TT, T1h, T2A, T2N, T3b, T3n, Tt, T1U, T12, T1i, T2t, T2O;
		    E T3e, T3o;
		    {
			 E T3, T2c, T1e, T2d, T6, T2G, T1b, T2H;
			 {
			      E T1, T2, T1c, T1d;
			      T1 = cr[0];
			      T2 = ci[WS(rs, 7)];
			      T3 = T1 + T2;
			      T2c = T1 - T2;
			      T1c = ci[WS(rs, 11)];
			      T1d = cr[WS(rs, 12)];
			      T1e = T1c - T1d;
			      T2d = T1c + T1d;
			 }
			 {
			      E T4, T5, T19, T1a;
			      T4 = cr[WS(rs, 4)];
			      T5 = ci[WS(rs, 3)];
			      T6 = T4 + T5;
			      T2G = T4 - T5;
			      T19 = ci[WS(rs, 15)];
			      T1a = cr[WS(rs, 8)];
			      T1b = T19 - T1a;
			      T2H = T19 + T1a;
			 }
//.........这里部分代码省略.........
开发者ID:DougBurke,项目名称:sherpa,代码行数:101,代码来源:hb2_16.c

示例5: q1_3

static void q1_3(float *rio, float *iio, const float *W, stride rs, stride vs, INT mb, INT me, INT ms)
{
     DK(KP866025403, +0.866025403784438646763723170752936183471402627);
     DK(KP500000000, +0.500000000000000000000000000000000000000000000);
     INT m;
     for (m = mb, W = W + (mb * 4); m < me; m = m + 1, rio = rio + ms, iio = iio + ms, W = W + 4, MAKE_VOLATILE_STRIDE(rs), MAKE_VOLATILE_STRIDE(vs)) {
	  E T1, T4, T6, Tc, Td, Te, T9, Tf, Tl, To, Tq, Tw, Tx, Ty, Tt;
	  E Tz, TR, TS, TN, TT, TF, TI, TK, TQ;
	  {
	       E T2, T3, Tr, Ts;
	       T1 = rio[0];
	       T2 = rio[WS(rs, 1)];
	       T3 = rio[WS(rs, 2)];
	       T4 = T2 + T3;
	       T6 = FNMS(KP500000000, T4, T1);
	       Tc = KP866025403 * (T3 - T2);
	       {
		    E T7, T8, Tm, Tn;
		    Td = iio[0];
		    T7 = iio[WS(rs, 1)];
		    T8 = iio[WS(rs, 2)];
		    Te = T7 + T8;
		    T9 = KP866025403 * (T7 - T8);
		    Tf = FNMS(KP500000000, Te, Td);
		    Tl = rio[WS(vs, 1)];
		    Tm = rio[WS(vs, 1) + WS(rs, 1)];
		    Tn = rio[WS(vs, 1) + WS(rs, 2)];
		    To = Tm + Tn;
		    Tq = FNMS(KP500000000, To, Tl);
		    Tw = KP866025403 * (Tn - Tm);
	       }
	       Tx = iio[WS(vs, 1)];
	       Tr = iio[WS(vs, 1) + WS(rs, 1)];
	       Ts = iio[WS(vs, 1) + WS(rs, 2)];
	       Ty = Tr + Ts;
	       Tt = KP866025403 * (Tr - Ts);
	       Tz = FNMS(KP500000000, Ty, Tx);
	       {
		    E TL, TM, TG, TH;
		    TR = iio[WS(vs, 2)];
		    TL = iio[WS(vs, 2) + WS(rs, 1)];
		    TM = iio[WS(vs, 2) + WS(rs, 2)];
		    TS = TL + TM;
		    TN = KP866025403 * (TL - TM);
		    TT = FNMS(KP500000000, TS, TR);
		    TF = rio[WS(vs, 2)];
		    TG = rio[WS(vs, 2) + WS(rs, 1)];
		    TH = rio[WS(vs, 2) + WS(rs, 2)];
		    TI = TG + TH;
		    TK = FNMS(KP500000000, TI, TF);
		    TQ = KP866025403 * (TH - TG);
	       }
	  }
	  rio[0] = T1 + T4;
	  iio[0] = Td + Te;
	  rio[WS(rs, 1)] = Tl + To;
	  iio[WS(rs, 1)] = Tx + Ty;
	  iio[WS(rs, 2)] = TR + TS;
	  rio[WS(rs, 2)] = TF + TI;
	  {
	       E Ta, Tg, T5, Tb;
	       Ta = T6 + T9;
	       Tg = Tc + Tf;
	       T5 = W[0];
	       Tb = W[1];
	       rio[WS(vs, 1)] = FMA(T5, Ta, Tb * Tg);
	       iio[WS(vs, 1)] = FNMS(Tb, Ta, T5 * Tg);
	  }
	  {
	       E TW, TY, TV, TX;
	       TW = TK - TN;
	       TY = TT - TQ;
	       TV = W[2];
	       TX = W[3];
	       rio[WS(vs, 2) + WS(rs, 2)] = FMA(TV, TW, TX * TY);
	       iio[WS(vs, 2) + WS(rs, 2)] = FNMS(TX, TW, TV * TY);
	  }
	  {
	       E TC, TE, TB, TD;
	       TC = Tq - Tt;
	       TE = Tz - Tw;
	       TB = W[2];
	       TD = W[3];
	       rio[WS(vs, 2) + WS(rs, 1)] = FMA(TB, TC, TD * TE);
	       iio[WS(vs, 2) + WS(rs, 1)] = FNMS(TD, TC, TB * TE);
	  }
	  {
	       E Tu, TA, Tp, Tv;
	       Tu = Tq + Tt;
	       TA = Tw + Tz;
	       Tp = W[0];
	       Tv = W[1];
	       rio[WS(vs, 1) + WS(rs, 1)] = FMA(Tp, Tu, Tv * TA);
	       iio[WS(vs, 1) + WS(rs, 1)] = FNMS(Tv, Tu, Tp * TA);
	  }
	  {
	       E TO, TU, TJ, TP;
	       TO = TK + TN;
	       TU = TQ + TT;
	       TJ = W[0];
//.........这里部分代码省略.........
开发者ID:Rudrj2,项目名称:FFTW3_MOD-for-Android,代码行数:101,代码来源:q1_3.c

示例6: hc2r_15

static void hc2r_15(const R *ri, const R *ii, R *O, stride ris, stride iis, stride os, INT v, INT ivs, INT ovs)
{
     DK(KP559016994, +0.559016994374947424102293417182819058860154590);
     DK(KP1_902113032, +1.902113032590307144232878666758764286811397268);
     DK(KP250000000, +0.250000000000000000000000000000000000000000000);
     DK(KP866025403, +0.866025403784438646763723170752936183471402627);
     DK(KP1_118033988, +1.118033988749894848204586834365638117720309180);
     DK(KP618033988, +0.618033988749894848204586834365638117720309180);
     DK(KP500000000, +0.500000000000000000000000000000000000000000000);
     DK(KP1_732050807, +1.732050807568877293527446341505872366942805254);
     DK(KP2_000000000, +2.000000000000000000000000000000000000000000000);
     INT i;
     for (i = v; i > 0; i = i - 1, ri = ri + ivs, ii = ii + ivs, O = O + ovs, MAKE_VOLATILE_STRIDE(ris), MAKE_VOLATILE_STRIDE(iis), MAKE_VOLATILE_STRIDE(os)) {
	  E TL, Tz, TM, TK;
	  {
	       E T3, Th, Tt, TD, TI, TH, TY, TC, TZ, Tu, Tm, Tv, Tr, Te, TW;
	       E Tg, T1, T2, T12, T10, TV;
	       Tg = ii[WS(iis, 5)];
	       T1 = ri[0];
	       T2 = ri[WS(ris, 5)];
	       {
		    E T4, TA, T9, TF, T7, Tj, Tc, Tk, TG, Tq, Tf, Tl, TB;
		    T4 = ri[WS(ris, 3)];
		    TA = ii[WS(iis, 3)];
		    T9 = ri[WS(ris, 6)];
		    Tf = T1 - T2;
		    T3 = FMA(KP2_000000000, T2, T1);
		    TF = ii[WS(iis, 6)];
		    {
			 E Ta, Tb, T5, T6, To, Tp;
			 T5 = ri[WS(ris, 7)];
			 T6 = ri[WS(ris, 2)];
			 Th = FMA(KP1_732050807, Tg, Tf);
			 Tt = FNMS(KP1_732050807, Tg, Tf);
			 Ta = ri[WS(ris, 4)];
			 TD = T5 - T6;
			 T7 = T5 + T6;
			 Tb = ri[WS(ris, 1)];
			 To = ii[WS(iis, 4)];
			 Tp = ii[WS(iis, 1)];
			 Tj = ii[WS(iis, 7)];
			 Tc = Ta + Tb;
			 TI = Ta - Tb;
			 Tk = ii[WS(iis, 2)];
			 TG = Tp - To;
			 Tq = To + Tp;
		    }
		    Tl = Tj - Tk;
		    TB = Tj + Tk;
		    TH = FNMS(KP500000000, TG, TF);
		    TY = TG + TF;
		    TC = FMA(KP500000000, TB, TA);
		    TZ = TA - TB;
		    {
			 E Ti, T8, Td, Tn;
			 Ti = FNMS(KP2_000000000, T4, T7);
			 T8 = T4 + T7;
			 Td = T9 + Tc;
			 Tn = FNMS(KP2_000000000, T9, Tc);
			 Tu = FNMS(KP1_732050807, Tl, Ti);
			 Tm = FMA(KP1_732050807, Tl, Ti);
			 Tv = FNMS(KP1_732050807, Tq, Tn);
			 Tr = FMA(KP1_732050807, Tq, Tn);
			 Te = T8 + Td;
			 TW = T8 - Td;
		    }
	       }
	       T12 = FMA(KP618033988, TY, TZ);
	       T10 = FNMS(KP618033988, TZ, TY);
	       TV = FNMS(KP500000000, Te, T3);
	       O[0] = FMA(KP2_000000000, Te, T3);
	       {
		    E TJ, TE, TT, TP, TU, TS, Ty, Tw, Tx;
		    {
			 E TO, Ts, TQ, TN, TR, T11, TX;
			 TO = Tr - Tm;
			 Ts = Tm + Tr;
			 T11 = FMA(KP1_118033988, TW, TV);
			 TX = FNMS(KP1_118033988, TW, TV);
			 TQ = FNMS(KP866025403, TI, TH);
			 TJ = FMA(KP866025403, TI, TH);
			 TN = FMA(KP250000000, Ts, Th);
			 O[WS(os, 6)] = FNMS(KP1_902113032, T12, T11);
			 O[WS(os, 9)] = FMA(KP1_902113032, T12, T11);
			 O[WS(os, 12)] = FMA(KP1_902113032, T10, TX);
			 O[WS(os, 3)] = FNMS(KP1_902113032, T10, TX);
			 TR = FNMS(KP866025403, TD, TC);
			 TE = FMA(KP866025403, TD, TC);
			 O[WS(os, 5)] = Th - Ts;
			 TT = FMA(KP559016994, TO, TN);
			 TP = FNMS(KP559016994, TO, TN);
			 TU = FMA(KP618033988, TQ, TR);
			 TS = FNMS(KP618033988, TR, TQ);
		    }
		    Ty = Tv - Tu;
		    Tw = Tu + Tv;
		    O[WS(os, 14)] = FMA(KP1_902113032, TU, TT);
		    O[WS(os, 11)] = FNMS(KP1_902113032, TU, TT);
		    O[WS(os, 2)] = FMA(KP1_902113032, TS, TP);
		    O[WS(os, 8)] = FNMS(KP1_902113032, TS, TP);
//.........这里部分代码省略.........
开发者ID:exic,项目名称:last.fm-dbus,代码行数:101,代码来源:hc2r_15.c

示例7: r2cbIII_32

static void r2cbIII_32(R *R0, R *R1, R *Cr, R *Ci, stride rs, stride csr, stride csi, INT v, INT ivs, INT ovs)
{
     DK(KP1_913880671, +1.913880671464417729871595773960539938965698411);
     DK(KP580569354, +0.580569354508924735272384751634790549382952557);
     DK(KP942793473, +0.942793473651995297112775251810508755314920638);
     DK(KP1_763842528, +1.763842528696710059425513727320776699016885241);
     DK(KP1_546020906, +1.546020906725473921621813219516939601942082586);
     DK(KP1_268786568, +1.268786568327290996430343226450986741351374190);
     DK(KP196034280, +0.196034280659121203988391127777283691722273346);
     DK(KP1_990369453, +1.990369453344393772489673906218959843150949737);
     DK(KP765366864, +0.765366864730179543456919968060797733522689125);
     DK(KP1_847759065, +1.847759065022573512256366378793576573644833252);
     DK(KP1_961570560, +1.961570560806460898252364472268478073947867462);
     DK(KP390180644, +0.390180644032256535696569736954044481855383236);
     DK(KP1_111140466, +1.111140466039204449485661627897065748749874382);
     DK(KP1_662939224, +1.662939224605090474157576755235811513477121624);
     DK(KP1_414213562, +1.414213562373095048801688724209698078569671875);
     DK(KP2_000000000, +2.000000000000000000000000000000000000000000000);
     DK(KP382683432, +0.382683432365089771728459984030398866761344562);
     DK(KP923879532, +0.923879532511286756128183189396788286822416626);
     DK(KP707106781, +0.707106781186547524400844362104849039284835938);
     {
	  INT i;
	  for (i = v; i > 0; i = i - 1, R0 = R0 + ovs, R1 = R1 + ovs, Cr = Cr + ivs, Ci = Ci + ivs, MAKE_VOLATILE_STRIDE(128, rs), MAKE_VOLATILE_STRIDE(128, csr), MAKE_VOLATILE_STRIDE(128, csi)) {
	       E T7, T2i, T2F, Tz, T1k, T1I, T1Z, T1x, Te, T22, T2E, T2j, T1f, T1y, TK;
	       E T1J, Tm, T2B, TW, T1a, T1C, T1L, T28, T2l, Tt, T2A, T17, T1b, T1F, T1M;
	       E T2d, T2m;
	       {
		    E T3, Tv, T1j, T2h, T6, T1g, Ty, T2g;
		    {
			 E T1, T2, T1h, T1i;
			 T1 = Cr[0];
			 T2 = Cr[WS(csr, 15)];
			 T3 = T1 + T2;
			 Tv = T1 - T2;
			 T1h = Ci[0];
			 T1i = Ci[WS(csi, 15)];
			 T1j = T1h + T1i;
			 T2h = T1i - T1h;
		    }
		    {
			 E T4, T5, Tw, Tx;
			 T4 = Cr[WS(csr, 8)];
			 T5 = Cr[WS(csr, 7)];
			 T6 = T4 + T5;
			 T1g = T4 - T5;
			 Tw = Ci[WS(csi, 8)];
			 Tx = Ci[WS(csi, 7)];
			 Ty = Tw + Tx;
			 T2g = Tw - Tx;
		    }
		    T7 = T3 + T6;
		    T2i = T2g + T2h;
		    T2F = T2h - T2g;
		    Tz = Tv - Ty;
		    T1k = T1g + T1j;
		    T1I = T1g - T1j;
		    T1Z = T3 - T6;
		    T1x = Tv + Ty;
	       }
	       {
		    E Ta, TA, TD, T21, Td, TF, TI, T20;
		    {
			 E T8, T9, TB, TC;
			 T8 = Cr[WS(csr, 4)];
			 T9 = Cr[WS(csr, 11)];
			 Ta = T8 + T9;
			 TA = T8 - T9;
			 TB = Ci[WS(csi, 4)];
			 TC = Ci[WS(csi, 11)];
			 TD = TB + TC;
			 T21 = TB - TC;
		    }
		    {
			 E Tb, Tc, TG, TH;
			 Tb = Cr[WS(csr, 3)];
			 Tc = Cr[WS(csr, 12)];
			 Td = Tb + Tc;
			 TF = Tb - Tc;
			 TG = Ci[WS(csi, 3)];
			 TH = Ci[WS(csi, 12)];
			 TI = TG + TH;
			 T20 = TH - TG;
		    }
		    Te = Ta + Td;
		    T22 = T20 - T21;
		    T2E = T21 + T20;
		    T2j = Ta - Td;
		    {
			 E T1d, T1e, TE, TJ;
			 T1d = TA + TD;
			 T1e = TF + TI;
			 T1f = KP707106781 * (T1d - T1e);
			 T1y = KP707106781 * (T1d + T1e);
			 TE = TA - TD;
			 TJ = TF - TI;
			 TK = KP707106781 * (TE + TJ);
			 T1J = KP707106781 * (TE - TJ);
		    }
	       }
//.........这里部分代码省略.........
开发者ID:SKA-ScienceDataProcessor,项目名称:FastImaging,代码行数:101,代码来源:r2cbIII_32.c

示例8: r2cb_20

static void r2cb_20(R *R0, R *R1, R *Cr, R *Ci, stride rs, stride csr, stride csi, INT v, INT ivs, INT ovs)
{
     DK(KP1_118033988, +1.118033988749894848204586834365638117720309180);
     DK(KP500000000, +0.500000000000000000000000000000000000000000000);
     DK(KP1_902113032, +1.902113032590307144232878666758764286811397268);
     DK(KP1_175570504, +1.175570504584946258337411909278145537195304875);
     DK(KP2_000000000, +2.000000000000000000000000000000000000000000000);
     INT i;
     for (i = v; i > 0; i = i - 1, R0 = R0 + ovs, R1 = R1 + ovs, Cr = Cr + ivs, Ci = Ci + ivs, MAKE_VOLATILE_STRIDE(rs), MAKE_VOLATILE_STRIDE(csr), MAKE_VOLATILE_STRIDE(csi)) {
	  E T6, TF, Tm, Tt, TQ, T1n, T1f, T12, T1m, TV, T13, T1c, Td, Tk, Tl;
	  E Ty, TD, TE, Tn, To, Tp, TG, TH, TI;
	  {
	       E T5, Ts, T3, Tq;
	       {
		    E T4, Tr, T1, T2;
		    T4 = Cr[WS(csr, 5)];
		    T5 = KP2_000000000 * T4;
		    Tr = Ci[WS(csi, 5)];
		    Ts = KP2_000000000 * Tr;
		    T1 = Cr[0];
		    T2 = Cr[WS(csr, 10)];
		    T3 = T1 + T2;
		    Tq = T1 - T2;
	       }
	       T6 = T3 - T5;
	       TF = Tq - Ts;
	       Tm = T3 + T5;
	       Tt = Tq + Ts;
	  }
	  {
	       E T9, Tu, TO, T1b, Tc, T1a, Tx, TP, Tg, Tz, TT, T1e, Tj, T1d, TC;
	       E TU;
	       {
		    E T7, T8, TM, TN;
		    T7 = Cr[WS(csr, 4)];
		    T8 = Cr[WS(csr, 6)];
		    T9 = T7 + T8;
		    Tu = T7 - T8;
		    TM = Ci[WS(csi, 4)];
		    TN = Ci[WS(csi, 6)];
		    TO = TM - TN;
		    T1b = TM + TN;
	       }
	       {
		    E Ta, Tb, Tv, Tw;
		    Ta = Cr[WS(csr, 9)];
		    Tb = Cr[WS(csr, 1)];
		    Tc = Ta + Tb;
		    T1a = Ta - Tb;
		    Tv = Ci[WS(csi, 9)];
		    Tw = Ci[WS(csi, 1)];
		    Tx = Tv + Tw;
		    TP = Tv - Tw;
	       }
	       {
		    E Te, Tf, TR, TS;
		    Te = Cr[WS(csr, 8)];
		    Tf = Cr[WS(csr, 2)];
		    Tg = Te + Tf;
		    Tz = Te - Tf;
		    TR = Ci[WS(csi, 8)];
		    TS = Ci[WS(csi, 2)];
		    TT = TR - TS;
		    T1e = TR + TS;
	       }
	       {
		    E Th, Ti, TA, TB;
		    Th = Cr[WS(csr, 7)];
		    Ti = Cr[WS(csr, 3)];
		    Tj = Th + Ti;
		    T1d = Th - Ti;
		    TA = Ci[WS(csi, 7)];
		    TB = Ci[WS(csi, 3)];
		    TC = TA + TB;
		    TU = TB - TA;
	       }
	       TQ = TO - TP;
	       T1n = T1e - T1d;
	       T1f = T1d + T1e;
	       T12 = TP + TO;
	       T1m = T1b - T1a;
	       TV = TT - TU;
	       T13 = TU + TT;
	       T1c = T1a + T1b;
	       Td = T9 - Tc;
	       Tk = Tg - Tj;
	       Tl = Td + Tk;
	       Ty = Tu + Tx;
	       TD = Tz - TC;
	       TE = Ty + TD;
	       Tn = T9 + Tc;
	       To = Tg + Tj;
	       Tp = Tn + To;
	       TG = Tu - Tx;
	       TH = Tz + TC;
	       TI = TG + TH;
	  }
	  R0[WS(rs, 5)] = FMA(KP2_000000000, Tl, T6);
	  R1[WS(rs, 7)] = FMA(KP2_000000000, TE, Tt);
	  R1[WS(rs, 2)] = FMA(KP2_000000000, TI, TF);
//.........这里部分代码省略.........
开发者ID:8cH9azbsFifZ,项目名称:wspr,代码行数:101,代码来源:r2cb_20.c

示例9: hc2cbdft_8

static void hc2cbdft_8(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms)
{
     DK(KP707106781, +0.707106781186547524400844362104849039284835938);
     INT m;
     for (m = mb, W = W + ((mb - 1) * 14); m < me; m = m + 1, Rp = Rp + ms, Ip = Ip + ms, Rm = Rm - ms, Im = Im - ms, W = W + 14, MAKE_VOLATILE_STRIDE(rs)) {
	  E T7, T1d, T1h, Tl, TG, T14, T19, TO, Te, TL, T18, T15, TB, T1e, Tw;
	  E T1i;
	  {
	       E T3, TC, Tk, TM, T6, Th, TF, TN;
	       {
		    E T1, T2, Ti, Tj;
		    T1 = Rp[0];
		    T2 = Rm[WS(rs, 3)];
		    T3 = T1 + T2;
		    TC = T1 - T2;
		    Ti = Ip[0];
		    Tj = Im[WS(rs, 3)];
		    Tk = Ti + Tj;
		    TM = Ti - Tj;
	       }
	       {
		    E T4, T5, TD, TE;
		    T4 = Rp[WS(rs, 2)];
		    T5 = Rm[WS(rs, 1)];
		    T6 = T4 + T5;
		    Th = T4 - T5;
		    TD = Ip[WS(rs, 2)];
		    TE = Im[WS(rs, 1)];
		    TF = TD + TE;
		    TN = TD - TE;
	       }
	       T7 = T3 + T6;
	       T1d = Tk - Th;
	       T1h = TC + TF;
	       Tl = Th + Tk;
	       TG = TC - TF;
	       T14 = T3 - T6;
	       T19 = TM - TN;
	       TO = TM + TN;
	  }
	  {
	       E Ta, Tm, Tp, TJ, Td, Tr, Tu, TK;
	       {
		    E T8, T9, Tn, To;
		    T8 = Rp[WS(rs, 1)];
		    T9 = Rm[WS(rs, 2)];
		    Ta = T8 + T9;
		    Tm = T8 - T9;
		    Tn = Ip[WS(rs, 1)];
		    To = Im[WS(rs, 2)];
		    Tp = Tn + To;
		    TJ = Tn - To;
	       }
	       {
		    E Tb, Tc, Ts, Tt;
		    Tb = Rm[0];
		    Tc = Rp[WS(rs, 3)];
		    Td = Tb + Tc;
		    Tr = Tb - Tc;
		    Ts = Im[0];
		    Tt = Ip[WS(rs, 3)];
		    Tu = Ts + Tt;
		    TK = Tt - Ts;
	       }
	       Te = Ta + Td;
	       TL = TJ + TK;
	       T18 = Ta - Td;
	       T15 = TK - TJ;
	       {
		    E Tz, TA, Tq, Tv;
		    Tz = Tm - Tp;
		    TA = Tr - Tu;
		    TB = KP707106781 * (Tz + TA);
		    T1e = KP707106781 * (Tz - TA);
		    Tq = Tm + Tp;
		    Tv = Tr + Tu;
		    Tw = KP707106781 * (Tq - Tv);
		    T1i = KP707106781 * (Tq + Tv);
	       }
	  }
	  {
	       E Tf, TP, TI, TQ;
	       Tf = T7 + Te;
	       TP = TL + TO;
	       {
		    E Tx, TH, Tg, Ty;
		    Tx = Tl + Tw;
		    TH = TB + TG;
		    Tg = W[0];
		    Ty = W[1];
		    TI = FMA(Tg, Tx, Ty * TH);
		    TQ = FNMS(Ty, Tx, Tg * TH);
	       }
	       Rp[0] = Tf - TI;
	       Ip[0] = TP + TQ;
	       Rm[0] = Tf + TI;
	       Im[0] = TQ - TP;
	  }
	  {
	       E T1r, T1x, T1w, T1y;
//.........这里部分代码省略.........
开发者ID:8cH9azbsFifZ,项目名称:wspr,代码行数:101,代码来源:hc2cbdft_8.c

示例10: t2_8

static void t2_8(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
{
     DK(KP707106781, +0.707106781186547524400844362104849039284835938);
     {
	  INT m;
	  for (m = mb, W = W + (mb * 6); m < me; m = m + 1, ri = ri + ms, ii = ii + ms, W = W + 6, MAKE_VOLATILE_STRIDE(16, rs)) {
	       E TS, T1m, TJ, T1l, T1k, Tw, T1w, T1u;
	       {
		    E T2, T3, Tl, Tn, T5, T4, Tm, Tr, T6;
		    T2 = W[0];
		    T3 = W[2];
		    Tl = W[4];
		    Tn = W[5];
		    T5 = W[1];
		    T4 = T2 * T3;
		    Tm = T2 * Tl;
		    Tr = T2 * Tn;
		    T6 = W[3];
		    {
			 E T1, T1s, TG, Td, T1r, Tu, TY, Tk, TW, T18, T1d, TD, TH, TA, T13;
			 E TE, T14;
			 {
			      E To, Ts, Tf, T7, T8, Ti, Tb, T9, Tc, TC, Ta, TF, TB, Tg, Th;
			      E Tj;
			      T1 = ri[0];
			      To = FMA(T5, Tn, Tm);
			      Ts = FNMS(T5, Tl, Tr);
			      Tf = FMA(T5, T6, T4);
			      T7 = FNMS(T5, T6, T4);
			      Ta = T2 * T6;
			      T1s = ii[0];
			      T8 = ri[WS(rs, 4)];
			      TF = Tf * Tn;
			      TB = Tf * Tl;
			      Ti = FNMS(T5, T3, Ta);
			      Tb = FMA(T5, T3, Ta);
			      T9 = T7 * T8;
			      Tc = ii[WS(rs, 4)];
			      TG = FNMS(Ti, Tl, TF);
			      TC = FMA(Ti, Tn, TB);
			      {
				   E Tp, T1q, Tt, Tq, TX;
				   Tp = ri[WS(rs, 6)];
				   Td = FMA(Tb, Tc, T9);
				   T1q = T7 * Tc;
				   Tt = ii[WS(rs, 6)];
				   Tq = To * Tp;
				   Tg = ri[WS(rs, 2)];
				   T1r = FNMS(Tb, T8, T1q);
				   TX = To * Tt;
				   Tu = FMA(Ts, Tt, Tq);
				   Th = Tf * Tg;
				   Tj = ii[WS(rs, 2)];
				   TY = FNMS(Ts, Tp, TX);
			      }
			      {
				   E TO, TQ, TN, TP, T1a, T1b;
				   {
					E TK, TM, TL, T19, TV;
					TK = ri[WS(rs, 7)];
					TM = ii[WS(rs, 7)];
					Tk = FMA(Ti, Tj, Th);
					TV = Tf * Tj;
					TL = Tl * TK;
					T19 = Tl * TM;
					TO = ri[WS(rs, 3)];
					TW = FNMS(Ti, Tg, TV);
					TQ = ii[WS(rs, 3)];
					TN = FMA(Tn, TM, TL);
					TP = T3 * TO;
					T1a = FNMS(Tn, TK, T19);
					T1b = T3 * TQ;
				   }
				   {
					E Tx, Tz, Ty, T12, T1c, TR;
					Tx = ri[WS(rs, 1)];
					TR = FMA(T6, TQ, TP);
					Tz = ii[WS(rs, 1)];
					T1c = FNMS(T6, TO, T1b);
					Ty = T2 * Tx;
					T18 = TN - TR;
					TS = TN + TR;
					T12 = T2 * Tz;
					T1d = T1a - T1c;
					T1m = T1a + T1c;
					TD = ri[WS(rs, 5)];
					TH = ii[WS(rs, 5)];
					TA = FMA(T5, Tz, Ty);
					T13 = FNMS(T5, Tx, T12);
					TE = TC * TD;
					T14 = TC * TH;
				   }
			      }
			 }
			 {
			      E Te, T1p, T1t, Tv;
			      {
				   E T1g, T10, T1z, T1B, T1A, T1j, T1C, T1f;
				   {
					E T1x, T11, T16, T1y;
//.........这里部分代码省略.........
开发者ID:Aegisub,项目名称:fftw3,代码行数:101,代码来源:t2_8.c

示例11: t1_8

static void t1_8(float *ri, float *ii, const float *W, stride rs, INT mb, INT me, INT ms)
{
     DK(KP707106781, +0.707106781186547524400844362104849039284835938);
     INT m;
     for (m = mb, W = W + (mb * 14); m < me; m = m + 1, ri = ri + ms, ii = ii + ms, W = W + 14, MAKE_VOLATILE_STRIDE(rs)) {
	  E T1g, T1f, T1e, Tm, T1q, T1o, T1p, TN, T1h, T1i;
	  {
	       E T1, T1m, T1l, T7, TS, Tk, TQ, Te, To, Tr, T17, TM, T12, Tu, TW;
	       E Tp, Tx, Tt, Tq, Tw;
	       {
		    E T3, T6, T2, T5;
		    T1 = ri[0];
		    T1m = ii[0];
		    T3 = ri[WS(rs, 4)];
		    T6 = ii[WS(rs, 4)];
		    T2 = W[6];
		    T5 = W[7];
		    {
			 E Ta, Td, T9, Tc;
			 {
			      E Tg, Tj, Ti, TR, Th, T1k, T4, Tf;
			      Tg = ri[WS(rs, 6)];
			      Tj = ii[WS(rs, 6)];
			      T1k = T2 * T6;
			      T4 = T2 * T3;
			      Tf = W[10];
			      Ti = W[11];
			      T1l = FNMS(T5, T3, T1k);
			      T7 = FMA(T5, T6, T4);
			      TR = Tf * Tj;
			      Th = Tf * Tg;
			      Ta = ri[WS(rs, 2)];
			      Td = ii[WS(rs, 2)];
			      TS = FNMS(Ti, Tg, TR);
			      Tk = FMA(Ti, Tj, Th);
			      T9 = W[2];
			      Tc = W[3];
			 }
			 {
			      E TB, TE, TH, T13, TC, TK, TG, TD, TJ, TP, Tb, TA, Tn;
			      TB = ri[WS(rs, 7)];
			      TE = ii[WS(rs, 7)];
			      TP = T9 * Td;
			      Tb = T9 * Ta;
			      TA = W[12];
			      TH = ri[WS(rs, 3)];
			      TQ = FNMS(Tc, Ta, TP);
			      Te = FMA(Tc, Td, Tb);
			      T13 = TA * TE;
			      TC = TA * TB;
			      TK = ii[WS(rs, 3)];
			      TG = W[4];
			      TD = W[13];
			      TJ = W[5];
			      {
				   E T14, TF, T16, TL, T15, TI;
				   To = ri[WS(rs, 1)];
				   T15 = TG * TK;
				   TI = TG * TH;
				   T14 = FNMS(TD, TB, T13);
				   TF = FMA(TD, TE, TC);
				   T16 = FNMS(TJ, TH, T15);
				   TL = FMA(TJ, TK, TI);
				   Tr = ii[WS(rs, 1)];
				   Tn = W[0];
				   T17 = T14 - T16;
				   T1g = T14 + T16;
				   TM = TF + TL;
				   T12 = TF - TL;
			      }
			      Tu = ri[WS(rs, 5)];
			      TW = Tn * Tr;
			      Tp = Tn * To;
			      Tx = ii[WS(rs, 5)];
			      Tt = W[8];
			      Tq = W[1];
			      Tw = W[9];
			 }
		    }
	       }
	       {
		    E T8, T1j, T1n, Tz, T1a, TU, Tl, T1b, T1c, T1v, T1t, T1w, T19, T1u, T1d;
		    {
			 E T1r, T10, TV, T1s, T11, T18;
			 {
			      E TO, TX, Ts, TZ, Ty, TT, TY, Tv;
			      T8 = T1 + T7;
			      TO = T1 - T7;
			      TY = Tt * Tx;
			      Tv = Tt * Tu;
			      TX = FNMS(Tq, To, TW);
			      Ts = FMA(Tq, Tr, Tp);
			      TZ = FNMS(Tw, Tu, TY);
			      Ty = FMA(Tw, Tx, Tv);
			      TT = TQ - TS;
			      T1j = TQ + TS;
			      T1n = T1l + T1m;
			      T1r = T1m - T1l;
			      T10 = TX - TZ;
			      T1f = TX + TZ;
//.........这里部分代码省略.........
开发者ID:Rudrj2,项目名称:FFTW3_MOD-for-Android,代码行数:101,代码来源:t1_8.c

示例12: hc2cfdft2_16

static void hc2cfdft2_16(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms)
{
     DK(KP923879532, +0.923879532511286756128183189396788286822416626);
     DK(KP414213562, +0.414213562373095048801688724209698078569671875);
     DK(KP707106781, +0.707106781186547524400844362104849039284835938);
     DK(KP500000000, +0.500000000000000000000000000000000000000000000);
     {
	  INT m;
	  for (m = mb, W = W + ((mb - 1) * 8); m < me; m = m + 1, Rp = Rp + ms, Ip = Ip + ms, Rm = Rm - ms, Im = Im - ms, W = W + 8, MAKE_VOLATILE_STRIDE(64, rs)) {
	       E T4p, T4o, T4n, T4s;
	       {
		    E T1, T2, Tw, Ty, Th, T3, Tx, TE, Ti, TK, Tj, T4, T5;
		    T1 = W[0];
		    T2 = W[2];
		    Tw = W[6];
		    Ty = W[7];
		    Th = W[4];
		    T3 = T1 * T2;
		    Tx = T1 * Tw;
		    TE = T1 * Ty;
		    Ti = T1 * Th;
		    TK = T2 * Th;
		    Tj = W[5];
		    T4 = W[1];
		    T5 = W[3];
		    {
			 E T1v, T2q, T1s, T2s, T38, T3T, T1Y, T3P, T17, T1h, T2x, T2v, T33, T3Q, T3S;
			 E T1N, Tv, T3A, T2E, T3B, T3L, T2c, T3I, T2S, TW, T3E, T3J, T2n, T3D, T2J;
			 E T3M, T2X;
			 {
			      E TF, Tk, Tz, TL, T6, TR, Tq, Tc, T2h, T25, T2k, T29, T1G, T1M, T2P;
			      E T2R;
			      {
				   E T18, TY, T1d, T13, T1H, T1A, T1K, T1E, T37, T1R, T35, T1X;
				   {
					E T1j, T1o, T1W, T1p, T1m, T1Q, T1U, T1q;
					{
					     E T1k, T1l, T1S, T1T;
					     {
						  E T1t, T28, T24, T1D, T1z, T1u, TQ, Tp, Tb;
						  T1t = Ip[0];
						  TQ = T2 * Tj;
						  Tp = T1 * Tj;
						  TF = FNMS(T4, Tw, TE);
						  T1j = FMA(T4, Tj, Ti);
						  Tk = FNMS(T4, Tj, Ti);
						  Tz = FMA(T4, Ty, Tx);
						  T18 = FNMS(T5, Tj, TK);
						  TL = FMA(T5, Tj, TK);
						  TY = FNMS(T4, T5, T3);
						  T6 = FMA(T4, T5, T3);
						  Tb = T1 * T5;
						  TR = FNMS(T5, Th, TQ);
						  T1d = FMA(T5, Th, TQ);
						  Tq = FMA(T4, Th, Tp);
						  T1o = FNMS(T4, Th, Tp);
						  T28 = T6 * Tj;
						  T24 = T6 * Th;
						  T1D = TY * Tj;
						  T1z = TY * Th;
						  Tc = FNMS(T4, T2, Tb);
						  T13 = FMA(T4, T2, Tb);
						  T1u = Im[0];
						  T1k = Ip[WS(rs, 4)];
						  T2h = FMA(Tc, Tj, T24);
						  T25 = FNMS(Tc, Tj, T24);
						  T2k = FNMS(Tc, Th, T28);
						  T29 = FMA(Tc, Th, T28);
						  T1H = FNMS(T13, Tj, T1z);
						  T1A = FMA(T13, Tj, T1z);
						  T1K = FMA(T13, Th, T1D);
						  T1E = FNMS(T13, Th, T1D);
						  T1W = T1t + T1u;
						  T1v = T1t - T1u;
						  T1l = Im[WS(rs, 4)];
					     }
					     T1S = Rm[0];
					     T1T = Rp[0];
					     T1p = Rp[WS(rs, 4)];
					     T1m = T1k - T1l;
					     T1Q = T1k + T1l;
					     T2q = T1T + T1S;
					     T1U = T1S - T1T;
					     T1q = Rm[WS(rs, 4)];
					}
					{
					     E T36, T1V, T1O, T1r, T1n, T1P, T34, T2r;
					     T36 = T4 * T1U;
					     T1V = T1 * T1U;
					     T1O = T1q - T1p;
					     T1r = T1p + T1q;
					     T1n = T1j * T1m;
					     T37 = FMA(T1, T1W, T36);
					     T2r = T1j * T1r;
					     T1P = Th * T1O;
					     T34 = Tj * T1O;
					     T1s = FNMS(T1o, T1r, T1n);
					     T2s = FMA(T1o, T1m, T2r);
					     T1R = FNMS(Tj, T1Q, T1P);
					     T35 = FMA(Th, T1Q, T34);
//.........这里部分代码省略.........
开发者ID:SKA-ScienceDataProcessor,项目名称:FastImaging,代码行数:101,代码来源:hc2cfdft2_16.c

示例13: hc2cfdft_4

static void hc2cfdft_4(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms)
{
     DK(KP500000000, +0.500000000000000000000000000000000000000000000);
     {
	  INT m;
	  for (m = mb, W = W + ((mb - 1) * 6); m < me; m = m + 1, Rp = Rp + ms, Ip = Ip + ms, Rm = Rm - ms, Im = Im - ms, W = W + 6, MAKE_VOLATILE_STRIDE(16, rs)) {
	       E Tc, Tr, Tk, Tx, T9, Ts, Tp, Tw;
	       {
		    E Ta, Tb, Tj, Tf, Tg, Th, Te, Ti;
		    Ta = Ip[0];
		    Tb = Im[0];
		    Tj = Ta + Tb;
		    Tf = Rm[0];
		    Tg = Rp[0];
		    Th = Tf - Tg;
		    Tc = Ta - Tb;
		    Tr = Tg + Tf;
		    Te = W[0];
		    Ti = W[1];
		    Tk = FNMS(Ti, Tj, Te * Th);
		    Tx = FMA(Ti, Th, Te * Tj);
	       }
	       {
		    E T4, To, T8, Tm;
		    {
			 E T2, T3, T6, T7;
			 T2 = Ip[WS(rs, 1)];
			 T3 = Im[WS(rs, 1)];
			 T4 = T2 - T3;
			 To = T2 + T3;
			 T6 = Rp[WS(rs, 1)];
			 T7 = Rm[WS(rs, 1)];
			 T8 = T6 + T7;
			 Tm = T6 - T7;
		    }
		    {
			 E T1, T5, Tl, Tn;
			 T1 = W[2];
			 T5 = W[3];
			 T9 = FNMS(T5, T8, T1 * T4);
			 Ts = FMA(T1, T8, T5 * T4);
			 Tl = W[4];
			 Tn = W[5];
			 Tp = FMA(Tl, Tm, Tn * To);
			 Tw = FNMS(Tn, Tm, Tl * To);
		    }
	       }
	       {
		    E Td, Tq, Tz, TA;
		    Td = T9 + Tc;
		    Tq = Tk - Tp;
		    Ip[0] = KP500000000 * (Td + Tq);
		    Im[WS(rs, 1)] = KP500000000 * (Tq - Td);
		    Tz = Tr + Ts;
		    TA = Tw + Tx;
		    Rm[WS(rs, 1)] = KP500000000 * (Tz - TA);
		    Rp[0] = KP500000000 * (Tz + TA);
	       }
	       {
		    E Tt, Tu, Tv, Ty;
		    Tt = Tr - Ts;
		    Tu = Tp + Tk;
		    Rm[0] = KP500000000 * (Tt - Tu);
		    Rp[WS(rs, 1)] = KP500000000 * (Tt + Tu);
		    Tv = Tc - T9;
		    Ty = Tw - Tx;
		    Ip[WS(rs, 1)] = KP500000000 * (Tv + Ty);
		    Im[0] = KP500000000 * (Ty - Tv);
	       }
	  }
     }
}
开发者ID:LiZimo,项目名称:interactiveCart,代码行数:72,代码来源:hc2cfdft_4.c

示例14: r2hc_11

static void r2hc_11(const R *I, R *ro, R *io, stride is, stride ros, stride ios, INT v, INT ivs, INT ovs)
{
     DK(KP959492973, +0.959492973614497389890368057066327699062454848);
     DK(KP876768831, +0.876768831002589333891339807079336796764054852);
     DK(KP918985947, +0.918985947228994779780736114132655398124909697);
     DK(KP989821441, +0.989821441880932732376092037776718787376519372);
     DK(KP778434453, +0.778434453334651800608337670740821884709317477);
     DK(KP830830026, +0.830830026003772851058548298459246407048009821);
     DK(KP715370323, +0.715370323453429719112414662767260662417897278);
     DK(KP634356270, +0.634356270682424498893150776899916060542806975);
     DK(KP342584725, +0.342584725681637509502641509861112333758894680);
     DK(KP521108558, +0.521108558113202722944698153526659300680427422);
     INT i;
     for (i = v; i > 0; i = i - 1, I = I + ivs, ro = ro + ovs, io = io + ovs, MAKE_VOLATILE_STRIDE(is), MAKE_VOLATILE_STRIDE(ros), MAKE_VOLATILE_STRIDE(ios)) {
	  E T1, Tg, TF, TB, TI, TL, Tz, TA;
	  {
	       E T4, TC, TE, T7, TD, Ta, TS, TG, TJ, Td, TP, TM, Ty, Tq, Th;
	       E Tt, Tl;
	       T1 = I[0];
	       {
		    E Tb, Tc, Tx, Tp;
		    {
			 E T2, T3, Te, Tf;
			 T2 = I[WS(is, 1)];
			 T3 = I[WS(is, 10)];
			 Te = I[WS(is, 5)];
			 Tf = I[WS(is, 6)];
			 {
			      E T5, T6, T8, T9;
			      T5 = I[WS(is, 2)];
			      T4 = T2 + T3;
			      TC = T3 - T2;
			      Tg = Te + Tf;
			      TE = Tf - Te;
			      T6 = I[WS(is, 9)];
			      T8 = I[WS(is, 3)];
			      T9 = I[WS(is, 8)];
			      Tb = I[WS(is, 4)];
			      T7 = T5 + T6;
			      TD = T5 - T6;
			      Ta = T8 + T9;
			      TF = T9 - T8;
			      Tc = I[WS(is, 7)];
			 }
		    }
		    TS = FMA(KP521108558, TC, TD);
		    TG = FMA(KP521108558, TF, TE);
		    TJ = FMA(KP521108558, TE, TC);
		    Td = Tb + Tc;
		    TB = Tb - Tc;
		    Tx = FNMS(KP342584725, Ta, T7);
		    Tp = FNMS(KP342584725, T4, Ta);
		    TP = FNMS(KP521108558, TB, TF);
		    TM = FNMS(KP521108558, TD, TB);
		    Ty = FNMS(KP634356270, Tx, Td);
		    Tq = FNMS(KP634356270, Tp, Tg);
		    Th = FNMS(KP342584725, Tg, Td);
		    Tt = FNMS(KP342584725, Td, T4);
		    Tl = FNMS(KP342584725, T7, Tg);
	       }
	       {
		    E Tu, Ts, TN, Tv;
		    {
			 E Tm, TU, Tj, Ti, TT;
			 TT = FMA(KP715370323, TS, TF);
			 Ti = FNMS(KP634356270, Th, Ta);
			 Tu = FNMS(KP634356270, Tt, T7);
			 Tm = FNMS(KP634356270, Tl, T4);
			 TU = FMA(KP830830026, TT, TB);
			 Tj = FNMS(KP778434453, Ti, T7);
			 {
			      E Tk, TR, To, Tn, TQ, Tr;
			      TQ = FMA(KP715370323, TP, TC);
			      Tn = FNMS(KP778434453, Tm, Ta);
			      io[WS(ios, 5)] = KP989821441 * (FMA(KP918985947, TU, TE));
			      Tk = FNMS(KP876768831, Tj, T4);
			      TR = FNMS(KP830830026, TQ, TE);
			      To = FNMS(KP876768831, Tn, Td);
			      Tr = FNMS(KP778434453, Tq, Td);
			      ro[WS(ros, 5)] = FNMS(KP959492973, Tk, T1);
			      io[WS(ios, 4)] = KP989821441 * (FNMS(KP918985947, TR, TD));
			      ro[WS(ros, 4)] = FNMS(KP959492973, To, T1);
			      Ts = FNMS(KP876768831, Tr, T7);
			 }
		    }
		    TN = FNMS(KP715370323, TM, TE);
		    Tv = FNMS(KP778434453, Tu, Tg);
		    ro[0] = T1 + T4 + T7 + Ta + Td + Tg;
		    ro[WS(ros, 3)] = FNMS(KP959492973, Ts, T1);
		    {
			 E TO, Tw, TH, TK;
			 TO = FNMS(KP830830026, TN, TF);
			 Tw = FNMS(KP876768831, Tv, Ta);
			 TH = FMA(KP715370323, TG, TD);
			 TK = FNMS(KP715370323, TJ, TB);
			 io[WS(ios, 3)] = KP989821441 * (FNMS(KP918985947, TO, TC));
			 ro[WS(ros, 2)] = FNMS(KP959492973, Tw, T1);
			 TI = FNMS(KP830830026, TH, TC);
			 TL = FMA(KP830830026, TK, TD);
			 Tz = FNMS(KP778434453, Ty, T4);
//.........这里部分代码省略.........
开发者ID:exic,项目名称:last.fm-dbus,代码行数:101,代码来源:r2hc_11.c

示例15: hf_25

static void hf_25(R *cr, R *ci, const R *W, stride rs, INT mb, INT me, INT ms)
{
     DK(KP949179823, +0.949179823508441261575555465843363271711583843);
     DK(KP860541664, +0.860541664367944677098261680920518816412804187);
     DK(KP621716863, +0.621716863012209892444754556304102309693593202);
     DK(KP614372930, +0.614372930789563808870829930444362096004872855);
     DK(KP557913902, +0.557913902031834264187699648465567037992437152);
     DK(KP249506682, +0.249506682107067890488084201715862638334226305);
     DK(KP560319534, +0.560319534973832390111614715371676131169633784);
     DK(KP681693190, +0.681693190061530575150324149145440022633095390);
     DK(KP906616052, +0.906616052148196230441134447086066874408359177);
     DK(KP968479752, +0.968479752739016373193524836781420152702090879);
     DK(KP845997307, +0.845997307939530944175097360758058292389769300);
     DK(KP998026728, +0.998026728428271561952336806863450553336905220);
     DK(KP994076283, +0.994076283785401014123185814696322018529298887);
     DK(KP734762448, +0.734762448793050413546343770063151342619912334);
     DK(KP772036680, +0.772036680810363904029489473607579825330539880);
     DK(KP062914667, +0.062914667253649757225485955897349402364686947);
     DK(KP833417178, +0.833417178328688677408962550243238843138996060);
     DK(KP921177326, +0.921177326965143320250447435415066029359282231);
     DK(KP541454447, +0.541454447536312777046285590082819509052033189);
     DK(KP803003575, +0.803003575438660414833440593570376004635464850);
     DK(KP943557151, +0.943557151597354104399655195398983005179443399);
     DK(KP554608978, +0.554608978404018097464974850792216217022558774);
     DK(KP242145790, +0.242145790282157779872542093866183953459003101);
     DK(KP559154169, +0.559154169276087864842202529084232643714075927);
     DK(KP683113946, +0.683113946453479238701949862233725244439656928);
     DK(KP248028675, +0.248028675328619457762448260696444630363259177);
     DK(KP968583161, +0.968583161128631119490168375464735813836012403);
     DK(KP525970792, +0.525970792408939708442463226536226366643874659);
     DK(KP726211448, +0.726211448929902658173535992263577167607493062);
     DK(KP904730450, +0.904730450839922351881287709692877908104763647);
     DK(KP831864738, +0.831864738706457140726048799369896829771167132);
     DK(KP871714437, +0.871714437527667770979999223229522602943903653);
     DK(KP549754652, +0.549754652192770074288023275540779861653779767);
     DK(KP992114701, +0.992114701314477831049793042785778521453036709);
     DK(KP939062505, +0.939062505817492352556001843133229685779824606);
     DK(KP256756360, +0.256756360367726783319498520922669048172391148);
     DK(KP851038619, +0.851038619207379630836264138867114231259902550);
     DK(KP912575812, +0.912575812670962425556968549836277086778922727);
     DK(KP912018591, +0.912018591466481957908415381764119056233607330);
     DK(KP634619297, +0.634619297544148100711287640319130485732531031);
     DK(KP470564281, +0.470564281212251493087595091036643380879947982);
     DK(KP827271945, +0.827271945972475634034355757144307982555673741);
     DK(KP126329378, +0.126329378446108174786050455341811215027378105);
     DK(KP951056516, +0.951056516295153572116439333379382143405698634);
     DK(KP559016994, +0.559016994374947424102293417182819058860154590);
     DK(KP250000000, +0.250000000000000000000000000000000000000000000);
     DK(KP618033988, +0.618033988749894848204586834365638117720309180);
     {
	  INT m;
	  for (m = mb, W = W + ((mb - 1) * 48); m < me; m = m + 1, cr = cr + ms, ci = ci - ms, W = W + 48, MAKE_VOLATILE_STRIDE(50, rs)) {
	       E T7i, T6o, T6m, T7o, T7m, T7h, T6n, T6f, T7j, T7n;
	       {
		    E T6W, T5G, T3Y, T3M, T7q, T70, T6V, T7P, Tt, T3L, T5T, T45, T5Q, T4c, T3G;
		    E T2G, T5P, T49, T5S, T42, T65, T4H, T68, T4A, T2Z, T11, T67, T4x, T64, T4E;
		    E T5Y, T4W, T61, T4P, T3d, T1z, T60, T4M, T5X, T4T, T3g, T1G, T3q, T4q, T4j;
		    E T26, T3i, T1M, T3k, T1S;
		    {
			 E T3u, T2e, T3E, T44, T4b, T2E, T3w, T2k, T3y, T2q;
			 {
			      E T1, T6R, T3P, T7, T3W, Tq, T9, Tc, Tb, T3U, Tk, T3Q, Ta;
			      {
				   E T3, T6, T2, T5;
				   T1 = cr[0];
				   T6R = ci[0];
				   T3 = cr[WS(rs, 5)];
				   T6 = ci[WS(rs, 5)];
				   T2 = W[8];
				   T5 = W[9];
				   {
					E Tm, Tp, To, T3V, Tn, T3O, T4, Tl;
					Tm = cr[WS(rs, 15)];
					Tp = ci[WS(rs, 15)];
					T3O = T2 * T6;
					T4 = T2 * T3;
					Tl = W[28];
					To = W[29];
					T3P = FNMS(T5, T3, T3O);
					T7 = FMA(T5, T6, T4);
					T3V = Tl * Tp;
					Tn = Tl * Tm;
					{
					     E Tg, Tj, Tf, Ti, T3T, Th, T8;
					     Tg = cr[WS(rs, 10)];
					     Tj = ci[WS(rs, 10)];
					     T3W = FNMS(To, Tm, T3V);
					     Tq = FMA(To, Tp, Tn);
					     Tf = W[18];
					     Ti = W[19];
					     T9 = cr[WS(rs, 20)];
					     Tc = ci[WS(rs, 20)];
					     T3T = Tf * Tj;
					     Th = Tf * Tg;
					     T8 = W[38];
					     Tb = W[39];
					     T3U = FNMS(Ti, Tg, T3T);
					     Tk = FMA(Ti, Tj, Th);
					     T3Q = T8 * Tc;
					     Ta = T8 * T9;
//.........这里部分代码省略.........
开发者ID:LiZimo,项目名称:interactiveCart,代码行数:101,代码来源:hf_25.c


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