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

📄 hf2_25.c

📁 快速fft变换
💻 C
📖 第 1 页 / 共 4 页
字号:
			 }			 T3d = T1x - T1u;			 T3e = T1D - T1I;			 T3w = T3j - T3k;			 T3v = T3g - T3h;			 T3i = T3g + T3h;			 T3l = T3j + T3k;			 T3o = T3i + T3l;			 T1y = T1u + T1x;			 T1J = T1D + T1I;			 T1K = T1y + T1J;		    }		    T1L = T1r + T1K;		    T6h = T3n + T3o;		    {			 E T3f, T5c, T3q, T5b, T3m, T3p;			 T3f = FNMS(KP587785252, T3e, KP951056516 * T3d);			 T5c = FMA(KP587785252, T3d, KP951056516 * T3e);			 T3m = KP559016994 * (T3i - T3l);			 T3p = FNMS(KP250000000, T3o, T3n);			 T3q = T3m + T3p;			 T5b = T3p - T3m;			 T3r = T3f - T3q;			 T5P = T5c + T5b;			 T4E = T3f + T3q;			 T5d = T5b - T5c;		    }		    {			 E T3x, T5f, T3u, T5e, T3s, T3t;			 T3x = FMA(KP951056516, T3v, KP587785252 * T3w);			 T5f = FNMS(KP587785252, T3v, KP951056516 * T3w);			 T3s = KP559016994 * (T1y - T1J);			 T3t = FNMS(KP250000000, T1K, T1r);			 T3u = T3s + T3t;			 T5e = T3t - T3s;			 T3y = T3u - T3x;			 T5Q = T5e - T5f;			 T4D = T3u + T3x;			 T5g = T5e + T5f;		    }	       }	       {		    E T1P, T3L, T3B, T3C, T3U, T3T, T3G, T3J, T3M, T20, T2b, T2c, T1N, T1O;		    T1N = cr[WS(rs, 2)];		    T1O = ci[WS(rs, 2)];		    T1P = FMA(T14, T1N, T16 * T1O);		    T3L = FNMS(T16, T1N, T14 * T1O);		    {			 E T1U, T3E, T2a, T3I, T1Z, T3F, T25, T3H;			 {			      E T1R, T1T, T27, T29;			      T1R = cr[WS(rs, 7)];			      T1T = ci[WS(rs, 7)];			      T1U = FMA(T1Q, T1R, T1S * T1T);			      T3E = FNMS(T1S, T1R, T1Q * T1T);			      T27 = cr[WS(rs, 17)];			      T29 = ci[WS(rs, 17)];			      T2a = FMA(T26, T27, T28 * T29);			      T3I = FNMS(T28, T27, T26 * T29);			 }			 {			      E T1W, T1Y, T22, T24;			      T1W = cr[WS(rs, 22)];			      T1Y = ci[WS(rs, 22)];			      T1Z = FMA(T1V, T1W, T1X * T1Y);			      T3F = FNMS(T1X, T1W, T1V * T1Y);			      T22 = cr[WS(rs, 12)];			      T24 = ci[WS(rs, 12)];			      T25 = FMA(T21, T22, T23 * T24);			      T3H = FNMS(T23, T22, T21 * T24);			 }			 T3B = T1U - T1Z;			 T3C = T25 - T2a;			 T3U = T3H - T3I;			 T3T = T3E - T3F;			 T3G = T3E + T3F;			 T3J = T3H + T3I;			 T3M = T3G + T3J;			 T20 = T1U + T1Z;			 T2b = T25 + T2a;			 T2c = T20 + T2b;		    }		    T2d = T1P + T2c;		    T6j = T3L + T3M;		    {			 E T3D, T5n, T3O, T5m, T3K, T3N;			 T3D = FMA(KP951056516, T3B, KP587785252 * T3C);			 T5n = FNMS(KP587785252, T3B, KP951056516 * T3C);			 T3K = KP559016994 * (T3G - T3J);			 T3N = FNMS(KP250000000, T3M, T3L);			 T3O = T3K + T3N;			 T5m = T3N - T3K;			 T3P = T3D + T3O;			 T5U = T5n + T5m;			 T4I = T3O - T3D;			 T5o = T5m - T5n;		    }		    {			 E T3V, T5k, T3S, T5j, T3Q, T3R;			 T3V = FMA(KP951056516, T3T, KP587785252 * T3U);			 T5k = FNMS(KP587785252, T3T, KP951056516 * T3U);			 T3Q = KP559016994 * (T20 - T2b);			 T3R = FNMS(KP250000000, T2c, T1P);			 T3S = T3Q + T3R;			 T5j = T3R - T3Q;			 T3W = T3S - T3V;			 T5T = T5j - T5k;			 T4H = T3S + T3V;			 T5l = T5j + T5k;		    }	       }	       {		    E T6m, T6o, TL, T2E, T6d, T6e, T6n, T6f;		    {			 E T6i, T6l, T1M, T2D;			 T6i = T6g - T6h;			 T6l = T6j - T6k;			 T6m = FMA(KP951056516, T6i, KP587785252 * T6l);			 T6o = FNMS(KP587785252, T6i, KP951056516 * T6l);			 TL = T1 + TK;			 T1M = T1o + T1L;			 T2D = T2d + T2C;			 T2E = T1M + T2D;			 T6d = KP559016994 * (T1M - T2D);			 T6e = FNMS(KP250000000, T2E, TL);		    }		    cr[0] = TL + T2E;		    T6n = T6e - T6d;		    cr[WS(rs, 10)] = T6n - T6o;		    ci[WS(rs, 9)] = T6n + T6o;		    T6f = T6d + T6e;		    ci[WS(rs, 4)] = T6f - T6m;		    cr[WS(rs, 5)] = T6f + T6m;	       }	       {		    E T2P, T4z, T72, T7e, T4m, T7j, T4n, T7i, T4U, T77, T4X, T75, T4O, T6Y, T4P;		    E T6X, T4s, T7f, T4v, T7d, T2H, T70;		    T2H = T2F + T2G;		    T2P = T2H - T2O;		    T4z = T2H + T2O;		    T70 = T6A + T6z;		    T72 = T70 - T71;		    T7e = T71 + T70;		    {			 E T3c, T3z, T3A, T3X, T4k, T4l;			 T3c = FMA(KP535826794, T30, KP844327925 * T3b);			 T3z = FNMS(KP637423989, T3y, KP770513242 * T3r);			 T3A = T3c + T3z;			 T3X = FNMS(KP425779291, T3W, KP904827052 * T3P);			 T4k = FNMS(KP992114701, T4j, KP125333233 * T4c);			 T4l = T3X + T4k;			 T4m = T3A + T4l;			 T7j = T3X - T4k;			 T4n = KP559016994 * (T3A - T4l);			 T7i = T3z - T3c;		    }		    {			 E T4S, T4T, T73, T4V, T4W, T74;			 T4S = FNMS(KP248689887, T4A, KP968583161 * T4B);			 T4T = FNMS(KP844327925, T4D, KP535826794 * T4E);			 T73 = T4S + T4T;			 T4V = FNMS(KP481753674, T4H, KP876306680 * T4I);			 T4W = FNMS(KP684547105, T4K, KP728968627 * T4L);			 T74 = T4V + T4W;			 T4U = T4S - T4T;			 T77 = KP559016994 * (T73 - T74);			 T4X = T4V - T4W;			 T75 = T73 + T74;		    }		    {			 E T4C, T4F, T4G, T4J, T4M, T4N;			 T4C = FMA(KP968583161, T4A, KP248689887 * T4B);			 T4F = FMA(KP535826794, T4D, KP844327925 * T4E);			 T4G = T4C + T4F;			 T4J = FMA(KP876306680, T4H, KP481753674 * T4I);			 T4M = FMA(KP728968627, T4K, KP684547105 * T4L);			 T4N = T4J + T4M;			 T4O = T4G + T4N;			 T6Y = T4J - T4M;			 T4P = KP559016994 * (T4G - T4N);			 T6X = T4F - T4C;		    }		    {			 E T4q, T4r, T7b, T4t, T4u, T7c;			 T4q = FNMS(KP844327925, T30, KP535826794 * T3b);			 T4r = FMA(KP770513242, T3y, KP637423989 * T3r);			 T7b = T4q + T4r;			 T4t = FMA(KP125333233, T4j, KP992114701 * T4c);			 T4u = FMA(KP904827052, T3W, KP425779291 * T3P);			 T7c = T4u + T4t;			 T4s = T4q - T4r;			 T7f = T7b - T7c;			 T4v = T4t - T4u;			 T7d = KP559016994 * (T7b + T7c);		    }		    cr[WS(rs, 4)] = T2P + T4m;		    ci[WS(rs, 23)] = T75 + T72;		    ci[WS(rs, 20)] = T7f + T7e;		    cr[WS(rs, 1)] = T4z + T4O;		    {			 E T4w, T4y, T4p, T4x, T4o;			 T4w = FMA(KP951056516, T4s, KP587785252 * T4v);			 T4y = FNMS(KP587785252, T4s, KP951056516 * T4v);			 T4o = FNMS(KP250000000, T4m, T2P);			 T4p = T4n + T4o;			 T4x = T4o - T4n;			 ci[0] = T4p - T4w;			 ci[WS(rs, 5)] = T4x + T4y;			 cr[WS(rs, 9)] = T4p + T4w;			 ci[WS(rs, 10)] = T4x - T4y;		    }		    {			 E T6Z, T79, T78, T7a, T76;			 T6Z = FMA(KP587785252, T6X, KP951056516 * T6Y);			 T79 = FNMS(KP587785252, T6Y, KP951056516 * T6X);			 T76 = FNMS(KP250000000, T75, T72);			 T78 = T76 - T77;			 T7a = T77 + T76;			 cr[WS(rs, 16)] = T6Z - T78;			 ci[WS(rs, 18)] = T79 + T7a;			 ci[WS(rs, 13)] = T6Z + T78;			 cr[WS(rs, 21)] = T79 - T7a;		    }		    {			 E T7k, T7l, T7h, T7m, T7g;			 T7k = FMA(KP587785252, T7i, KP951056516 * T7j);			 T7l = FNMS(KP587785252, T7j, KP951056516 * T7i);			 T7g = FNMS(KP250000000, T7f, T7e);			 T7h = T7d - T7g;			 T7m = T7d + T7g;			 cr[WS(rs, 14)] = T7h - T7k;			 ci[WS(rs, 15)] = T7l + T7m;			 cr[WS(rs, 19)] = T7k + T7h;			 cr[WS(rs, 24)] = T7l - T7m;		    }		    {			 E T4Y, T50, T4R, T4Z, T4Q;			 T4Y = FMA(KP951056516, T4U, KP587785252 * T4X);			 T50 = FNMS(KP587785252, T4U, KP951056516 * T4X);			 T4Q = FNMS(KP250000000, T4O, T4z);			 T4R = T4P + T4Q;			 T4Z = T4Q - T4P;			 ci[WS(rs, 3)] = T4R - T4Y;			 ci[WS(rs, 8)] = T4Z + T50;			 cr[WS(rs, 6)] = T4R + T4Y;			 cr[WS(rs, 11)] = T4Z - T50;		    }	       }	       {		    E T7p, T7x, T7q, T7t, T7u, T7v, T7y, T7w;		    {			 E T7n, T7o, T7r, T7s;			 T7n = T1L - T1o;			 T7o = T2d - T2C;			 T7p = FMA(KP587785252, T7n, KP951056516 * T7o);			 T7x = FNMS(KP587785252, T7o, KP951056516 * T7n);			 T7q = T6y + T6v;			 T7r = T6g + T6h;			 T7s = T6j + T6k;			 T7t = T7r + T7s;			 T7u = FNMS(KP250000000, T7t, T7q);			 T7v = KP559016994 * (T7r - T7s);		    }		    ci[WS(rs, 24)] = T7t + T7q;		    T7y = T7v + T7u;		    cr[WS(rs, 20)] = T7x - T7y;		    ci[WS(rs, 19)] = T7x + T7y;		    T7w = T7u - T7v;		    cr[WS(rs, 15)] = T7p - T7w;		    ci[WS(rs, 14)] = T7p + T7w;	       }	       {		    E T53, T5L, T6C, T6O, T5y, T6T, T5z, T6S, T66, T6H, T69, T6F, T60, T6q, T61;		    E T6p, T5E, T6P, T5H, T6N, T51, T6B;		    T51 = T2G - T2F;		    T53 = T51 + T52;		    T5L = T51 - T52;		    T6B = T6z - T6A;		    T6C = T6u + T6B;		    T6O = T6B - T6u;		    {			 E T5a, T5h, T5i, T5p, T5w, T5x;			 T5a = FMA(KP728968627, T56, KP684547105 * T59);			 T5h = FNMS(KP992114701, T5g, KP125333233 * T5d);			 T5i = T5a + T5h;			 T5p = FMA(KP062790519, T5l, KP998026728 * T5o);			 T5w = FNMS(KP637423989, T5v, KP770513242 * T5s);			 T5x = T5p + T5w;			 T5y = T5i + T5x;			 T6T = T5p - T5w;			 T5z = KP559016994 * (T5i - T5x);			 T6S = T5h - T5a;		    }		    {			 E T64, T65, T6D, T67, T68, T6E;			 T64 = FNMS(KP481753674, T5M, KP876306680 * T5N);			 T65 = FMA(KP904827052, T5Q, KP425779291 * T5P);			 T6D = T64 - T65;			 T67 = FNMS(KP844327925, T5T, KP535826794 * T5U);			 T68 = FNMS(KP998026728, T5W, KP062790519 * T5X);			 T6E = T67 + T68;			 T66 = T64 + T65;			 T6H = KP559016994 * (T6D - T6E);			 T69 = T67 - T68;			 T6F = T6D + T6E;		    }		    {			 E T5O, T5R, T5S, T5V, T5Y, T5Z;			 T5O = FMA(KP876306680, T5M, KP481753674 * T5N);			 T5R = FNMS(KP425779291, T5Q, KP904827052 * T5P);			 T5S = T5O + T5R;			 T5V = FMA(KP535826794, T5T, KP844327925 * T5U);			 T5Y = FMA(KP062790519, T5W, KP998026728 * T5X);			 T5Z = T5V + T5Y;			 T60 = T5S + T5Z;			 T6q = T5V - T5Y;			 T61 = KP559016994 * (T5S - T5Z);			 T6p = T5R - T5O;		    }		    {			 E T5C, T5D, T6L, T5F, T5G, T6M;			 T5C = FNMS(KP684547105, T56, KP728968627 * T59);			 T5D = FMA(KP125333233, T5g, KP992114701 * T5d);			 T6L = T5C - T5D;			 T5F = FNMS(KP998026728, T5l, KP062790519 * T5o);			 T5G = FMA(KP770513242, T5v, KP637423989 * T5s);			 T6M = T5F - T5G;			 T5E = T5C + T5D;			 T6P = T6L + T6M;			 T5H = T5F + T5G;			 T6N = KP559016994 * (T6L - T6M);		    }		    cr[WS(rs, 3)] = T53 + T5y;		    ci[WS(rs, 22)] = T6F + T6C;		    ci[WS(rs, 21)] = T6P + T6O;		    cr[WS(rs, 2)] = T5L + T60;		    {			 E T6r, T6J, T6I, T6K, T6G;			 T6r = FMA(KP587785252, T6p, KP951056516 * T6q);			 T6J = FNMS(KP587785252, T6q, KP951056516 * T6p);			 T6G = FNMS(KP250000000, T6F, T6C);			 T6I = T6G - T6H;			 T6K = T6H + T6G;			 cr[WS(rs, 17)] = T6r - T6I;			 ci[WS(rs, 17)] = T6J + T6K;			 ci[WS(rs, 12)] = T6r + T6I;			 cr[WS(rs, 22)] = T6J - T6K;		    }		    {			 E T6a, T6c, T63, T6b, T62;			 T6a = FMA(KP951056516, T66, KP587785252 * T69);			 T6c = FNMS(KP587785252, T66, KP951056516 * T69);			 T62 = FNMS(KP250000000, T60, T5L);			 T63 = T61 + T62;			 T6b = T62 - T61;			 ci[WS(rs, 2)] = T63 - T6a;			 ci[WS(rs, 7)] = T6b + T6c;			 cr[WS(rs, 7)] = T63 + T6a;			 cr[WS(rs, 12)] = T6b - T6c;		    }		    {			 E T5I, T5K, T5B, T5J, T5A;			 T5I = FMA(KP951056516, T5E, KP587785252 * T5H);			 T5K = FNMS(KP587785252, T5E, KP951056516 * T5H);			 T5A = FNMS(KP250000000, T5y, T53);			 T5B = T5z + T5A;			 T5J = T5A - T5z;			 ci[WS(rs, 1)] = T5B - T5I;			 ci[WS(rs, 6)] = T5J + T5K;			 cr[WS(rs, 8)] = T5B + T5I;			 ci[WS(rs, 11)] = T5J - T5K;		    }		    {			 E T6U, T6V, T6R, T6W, T6Q;			 T6U = FMA(KP587785252, T6S, KP951056516 * T6T);			 T6V = FNMS(KP587785252, T6T, KP951056516 * T6S);			 T6Q = FNMS(KP250000000, T6P, T6O);			 T6R = T6N - T6Q;			 T6W = T6N + T6Q;			 cr[WS(rs, 13)] = T6R - T6U;			 ci[WS(rs, 16)] = T6V + T6W;			 cr[WS(rs, 18)] = T6U + T6R;			 cr[WS(rs, 23)] = T6V - T6W;		    }	       }	  }     }}static const tw_instr twinstr[] = {     {TW_CEXP, 1, 1},     {TW_CEXP, 1, 3},     {TW_CEXP, 1, 9},     {TW_CEXP, 1, 24},     {TW_NEXT, 1, 0}};static const hc2hc_desc desc = { 25, "hf2_25", twinstr, &GENUS, {280, 180, 160, 0} };void X(codelet_hf2_25) (planner *p) {     X(khc2hc_register) (p, hf2_25, &desc);}#endif				/* HAVE_FMA */

⌨️ 快捷键说明

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