⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hc2cfdft_20.c

📁 快速fft变换
💻 C
📖 第 1 页 / 共 3 页
字号:
		    }		    {			 E TS, TW, T1G, T1I;			 TS = W[36];			 TW = W[37];			 T10 = FNMS(TW, TZ, TS * TV);			 T2Q = FMA(TW, TV, TS * TZ);			 T1G = W[34];			 T1I = W[35];			 T1K = FNMS(T1I, T1J, T1G * T1H);			 T3s = FMA(T1I, T1H, T1G * T1J);		    }	       }	       {		    E T1P, T27, T1T, T29;		    {			 E T1N, T1O, T1R, T1S;			 T1N = Ip[WS(rs, 6)];			 T1O = Im[WS(rs, 6)];			 T1P = T1N + T1O;			 T27 = T1N - T1O;			 T1R = Rp[WS(rs, 6)];			 T1S = Rm[WS(rs, 6)];			 T1T = T1R - T1S;			 T29 = T1R + T1S;		    }		    {			 E T1M, T1Q, T26, T28;			 T1M = W[24];			 T1Q = W[25];			 T1U = FNMS(T1Q, T1T, T1M * T1P);			 T2J = FMA(T1Q, T1P, T1M * T1T);			 T26 = W[22];			 T28 = W[23];			 T2a = FNMS(T28, T29, T26 * T27);			 T3x = FMA(T28, T27, T26 * T29);		    }	       }	       {		    E T16, T2k, T1a, T2i;		    {			 E T14, T15, T18, T19;			 T14 = Ip[WS(rs, 8)];			 T15 = Im[WS(rs, 8)];			 T16 = T14 - T15;			 T2k = T14 + T15;			 T18 = Rp[WS(rs, 8)];			 T19 = Rm[WS(rs, 8)];			 T1a = T18 + T19;			 T2i = T19 - T18;		    }		    {			 E T13, T17, T2h, T2j;			 T13 = W[30];			 T17 = W[31];			 T1b = FNMS(T17, T1a, T13 * T16);			 T3l = FMA(T13, T1a, T17 * T16);			 T2h = W[33];			 T2j = W[32];			 T2l = FMA(T2h, T2i, T2j * T2k);			 T2D = FNMS(T2h, T2k, T2j * T2i);		    }	       }	       {		    E T2g, T2r, T3n, T3o;		    {			 E TI, T11, T4m, T4n;			 TI = TC - TH;			 T11 = TR - T10;			 T12 = TI - T11;			 T2w = TI + T11;			 T4m = T3g + T3h;			 T4n = TR + T10;			 T4o = T4m + T4n;			 T4V = T4m - T4n;		    }		    {			 E T2F, T2G, T4w, T4x;			 T2F = T2D - T2E;			 T2G = T2a + T2f;			 T2H = T2F - T2G;			 T3a = T2F + T2G;			 T4w = T2l + T2q;			 T4x = T3x + T3y;			 T4y = T4w + T4x;			 T4Y = T4x - T4w;		    }		    {			 E T1l, T1y, T1L, T24;			 T1l = T1b - T1k;			 T1y = T1q - T1x;			 T1z = T1l + T1y;			 T2v = T1y - T1l;			 T1L = T1F - T1K;			 T24 = T1U - T23;			 T25 = T1L - T24;			 T2y = T1L + T24;		    }		    T2g = T2a - T2f;		    T2r = T2l - T2q;		    T2s = T2g - T2r;		    T2z = T2r + T2g;		    {			 E T4t, T4u, T4p, T4q;			 T4t = T3r + T3s;			 T4u = T1U + T23;			 T4v = T4t + T4u;			 T4X = T4t - T4u;			 T4p = T3l + T3m;			 T4q = T1q + T1x;			 T4r = T4p + T4q;			 T4U = T4p - T4q;		    }		    {			 E T3w, T3z, T2T, T2W;			 T3w = T2D + T2E;			 T3z = T3x - T3y;			 T3A = T3w + T3z;			 T3Z = T3z - T3w;			 T2T = T1b + T1k;			 T2W = T2U + T2V;			 T2X = T2T + T2W;			 T37 = T2T - T2W;		    }		    {			 E T3i, T3j, T2I, T2L;			 T3i = T3g - T3h;			 T3j = T2Q - T2P;			 T3k = T3i + T3j;			 T41 = T3i - T3j;			 T2I = T1F + T1K;			 T2L = T2J + T2K;			 T2M = T2I + T2L;			 T39 = T2I - T2L;		    }		    {			 E T3t, T3u, T2O, T2R;			 T3t = T3r - T3s;			 T3u = T2K - T2J;			 T3v = T3t + T3u;			 T3Y = T3t - T3u;			 T2O = TC + TH;			 T2R = T2P + T2Q;			 T2S = T2O + T2R;			 T36 = T2O - T2R;		    }		    T3n = T3l - T3m;		    T3o = T2U - T2V;		    T3p = T3n + T3o;		    T42 = T3n - T3o;		    {			 E Tc, T3M, T4, T8;			 T4 = W[18];			 T8 = W[19];			 Tc = FNMS(T8, Tb, T4 * T7);			 T3M = FMA(T4, Tb, T8 * T7);			 Td = T3 - Tc;			 T4G = T3L + T3M;			 T33 = Tc + T3;			 T3N = T3L - T3M;		    }		    {			 E Tm, T30, Tv, T31;			 {			      E Te, Ti, Tn, Tr;			      Te = W[8];			      Ti = W[9];			      Tm = FNMS(Ti, Tl, Te * Th);			      T30 = FMA(Ti, Th, Te * Tl);			      Tn = W[28];			      Tr = W[29];			      Tv = FNMS(Tr, Tu, Tn * Tq);			      T31 = FMA(Tr, Tq, Tn * Tu);			 }			 Tw = Tm - Tv;			 T4H = Tm + Tv;			 T32 = T30 + T31;			 T3O = T31 - T30;		    }	       }	  }	  {	       E T3C, T3E, Tx, T2u, T3d, T3e, T3D, T3f;	       {		    E T3q, T3B, T1A, T2t;		    T3q = T3k - T3p;		    T3B = T3v - T3A;		    T3C = FMA(KP475528258, T3q, KP293892626 * T3B);		    T3E = FNMS(KP293892626, T3q, KP475528258 * T3B);		    Tx = Td - Tw;		    T1A = T12 + T1z;		    T2t = T25 + T2s;		    T2u = T1A + T2t;		    T3d = KP279508497 * (T1A - T2t);		    T3e = FNMS(KP125000000, T2u, KP500000000 * Tx);	       }	       Ip[WS(rs, 5)] = KP500000000 * (Tx + T2u);	       T3D = T3d - T3e;	       Im[WS(rs, 2)] = T3D - T3E;	       Im[WS(rs, 6)] = T3D + T3E;	       T3f = T3d + T3e;	       Ip[WS(rs, 1)] = T3f - T3C;	       Ip[WS(rs, 9)] = T3f + T3C;	  }	  {	       E T3H, T3T, T3P, T3Q, T3K, T3R, T3U, T3S;	       {		    E T3F, T3G, T3I, T3J;		    T3F = T12 - T1z;		    T3G = T25 - T2s;		    T3H = FMA(KP475528258, T3F, KP293892626 * T3G);		    T3T = FNMS(KP293892626, T3F, KP475528258 * T3G);		    T3P = T3N + T3O;		    T3I = T3k + T3p;		    T3J = T3v + T3A;		    T3Q = T3I + T3J;		    T3K = KP279508497 * (T3I - T3J);		    T3R = FNMS(KP125000000, T3Q, KP500000000 * T3P);	       }	       Rp[WS(rs, 5)] = KP500000000 * (T3P + T3Q);	       T3U = T3R - T3K;	       Rm[WS(rs, 6)] = T3T + T3U;	       Rm[WS(rs, 2)] = T3U - T3T;	       T3S = T3K + T3R;	       Rp[WS(rs, 1)] = T3H + T3S;	       Rp[WS(rs, 9)] = T3S - T3H;	  }	  {	       E T44, T46, T2C, T2B, T3V, T3W, T45, T3X;	       {		    E T40, T43, T2x, T2A;		    T40 = T3Y - T3Z;		    T43 = T41 - T42;		    T44 = FNMS(KP293892626, T43, KP475528258 * T40);		    T46 = FMA(KP475528258, T43, KP293892626 * T40);		    T2C = Tw + Td;		    T2x = T2v - T2w;		    T2A = T2y + T2z;		    T2B = T2x - T2A;		    T3V = FMA(KP500000000, T2C, KP125000000 * T2B);		    T3W = KP279508497 * (T2x + T2A);	       }	       Im[WS(rs, 4)] = KP500000000 * (T2B - T2C);	       T45 = T3W - T3V;	       Im[0] = T45 - T46;	       Im[WS(rs, 8)] = T45 + T46;	       T3X = T3V + T3W;	       Ip[WS(rs, 3)] = T3X - T44;	       Ip[WS(rs, 7)] = T3X + T44;	  }	  {	       E T49, T4h, T4a, T4d, T4e, T4f, T4i, T4g;	       {		    E T47, T48, T4b, T4c;		    T47 = T2y - T2z;		    T48 = T2w + T2v;		    T49 = FNMS(KP293892626, T48, KP475528258 * T47);		    T4h = FMA(KP475528258, T48, KP293892626 * T47);		    T4a = T3N - T3O;		    T4b = T41 + T42;		    T4c = T3Y + T3Z;		    T4d = T4b + T4c;		    T4e = FNMS(KP125000000, T4d, KP500000000 * T4a);		    T4f = KP279508497 * (T4b - T4c);	       }	       Rm[WS(rs, 4)] = KP500000000 * (T4a + T4d);	       T4i = T4f + T4e;	       Rm[WS(rs, 8)] = T4h + T4i;	       Rm[0] = T4i - T4h;	       T4g = T4e - T4f;	       Rp[WS(rs, 3)] = T49 + T4g;	       Rp[WS(rs, 7)] = T4g - T49;	  }	  {	       E T50, T52, T34, T2Z, T4R, T4S, T51, T4T;	       {		    E T4W, T4Z, T2N, T2Y;		    T4W = T4U - T4V;		    T4Z = T4X - T4Y;		    T50 = FNMS(KP293892626, T4Z, KP475528258 * T4W);		    T52 = FMA(KP293892626, T4W, KP475528258 * T4Z);		    T34 = T32 + T33;		    T2N = T2H - T2M;		    T2Y = T2S + T2X;		    T2Z = T2N - T2Y;		    T4R = FMA(KP500000000, T34, KP125000000 * T2Z);		    T4S = KP279508497 * (T2Y + T2N);	       }	       Im[WS(rs, 9)] = KP500000000 * (T2Z - T34);	       T51 = T4R - T4S;	       Ip[WS(rs, 2)] = T51 + T52;	       Im[WS(rs, 1)] = T52 - T51;	       T4T = T4R + T4S;	       Ip[WS(rs, 6)] = T4T + T50;	       Im[WS(rs, 5)] = T50 - T4T;	  }	  {	       E T5c, T5d, T53, T56, T57, T58, T5e, T59;	       {		    E T5a, T5b, T54, T55;		    T5a = T2M + T2H;		    T5b = T2S - T2X;		    T5c = FNMS(KP293892626, T5b, KP475528258 * T5a);		    T5d = FMA(KP475528258, T5b, KP293892626 * T5a);		    T53 = T4G - T4H;		    T54 = T4V + T4U;		    T55 = T4X + T4Y;		    T56 = T54 + T55;		    T57 = FNMS(KP125000000, T56, KP500000000 * T53);		    T58 = KP279508497 * (T54 - T55);	       }	       Rm[WS(rs, 9)] = KP500000000 * (T53 + T56);	       T5e = T58 + T57;	       Rp[WS(rs, 6)] = T5d + T5e;	       Rm[WS(rs, 5)] = T5e - T5d;	       T59 = T57 - T58;	       Rp[WS(rs, 2)] = T59 - T5c;	       Rm[WS(rs, 1)] = T5c + T59;	  }	  {	       E T4A, T4C, T35, T3c, T4j, T4k, T4B, T4l;	       {		    E T4s, T4z, T38, T3b;		    T4s = T4o - T4r;		    T4z = T4v - T4y;		    T4A = FNMS(KP475528258, T4z, KP293892626 * T4s);		    T4C = FMA(KP475528258, T4s, KP293892626 * T4z);		    T35 = T33 - T32;		    T38 = T36 + T37;		    T3b = T39 + T3a;		    T3c = T38 + T3b;		    T4j = FNMS(KP125000000, T3c, KP500000000 * T35);		    T4k = KP279508497 * (T38 - T3b);	       }	       Ip[0] = KP500000000 * (T35 + T3c);	       T4B = T4k + T4j;	       Ip[WS(rs, 4)] = T4B + T4C;	       Im[WS(rs, 3)] = T4C - T4B;	       T4l = T4j - T4k;	       Ip[WS(rs, 8)] = T4l + T4A;	       Im[WS(rs, 7)] = T4A - T4l;	  }	  {	       E T4O, T4P, T4I, T4J, T4F, T4K, T4Q, T4L;	       {		    E T4M, T4N, T4D, T4E;		    T4M = T36 - T37;		    T4N = T39 - T3a;		    T4O = FMA(KP475528258, T4M, KP293892626 * T4N);		    T4P = FNMS(KP293892626, T4M, KP475528258 * T4N);		    T4I = T4G + T4H;		    T4D = T4o + T4r;		    T4E = T4v + T4y;		    T4J = T4D + T4E;		    T4F = KP279508497 * (T4D - T4E);		    T4K = FNMS(KP125000000, T4J, KP500000000 * T4I);	       }	       Rp[0] = KP500000000 * (T4I + T4J);	       T4Q = T4K - T4F;	       Rp[WS(rs, 8)] = T4P + T4Q;	       Rm[WS(rs, 7)] = T4Q - T4P;	       T4L = T4F + T4K;	       Rp[WS(rs, 4)] = T4L - T4O;	       Rm[WS(rs, 3)] = T4O + T4L;	  }     }}static const tw_instr twinstr[] = {     {TW_FULL, 1, 20},     {TW_NEXT, 1, 0}};static const hc2c_desc desc = { 20, "hc2cfdft_20", twinstr, &GENUS, {224, 78, 62, 0} };void X(codelet_hc2cfdft_20) (planner *p) {     X(khc2c_register) (p, hc2cfdft_20, &desc, HC2C_VIA_DFT);}#endif				/* HAVE_FMA */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -