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

📄 hc2cfdft2_32.c

📁 快速fft变换
💻 C
📖 第 1 页 / 共 4 页
字号:
		    {			 E T13, T4j, T19, T4f;			 {			      E T11, T12, T17, T18;			      T11 = Ip[WS(rs, 15)];			      T12 = Im[WS(rs, 15)];			      T13 = T11 - T12;			      T4j = T11 + T12;			      T17 = Rp[WS(rs, 15)];			      T18 = Rm[WS(rs, 15)];			      T19 = T17 + T18;			      T4f = T17 - T18;			 }			 T1a = FNMS(T16, T19, T10 * T13);			 T5h = FNMS(T4i, T4f, T4e * T4j);			 T4k = FMA(T4e, T4f, T4i * T4j);			 T4Z = FMA(T10, T19, T16 * T13);		    }		    {			 E T1L, T4x, T1P, T4v;			 {			      E T1J, T1K, T1N, T1O;			      T1J = Ip[WS(rs, 11)];			      T1K = Im[WS(rs, 11)];			      T1L = T1J - T1K;			      T4x = T1J + T1K;			      T1N = Rp[WS(rs, 11)];			      T1O = Rm[WS(rs, 11)];			      T1P = T1N + T1O;			      T4v = T1N - T1O;			 }			 T1Q = FNMS(T1M, T1P, T1I * T1L);			 T5l = FNMS(T4w, T4v, T4u * T4x);			 T4y = FMA(T4u, T4v, T4w * T4x);			 T53 = FMA(T1I, T1P, T1M * T1L);		    }		    {			 E T1m, T4o, T1q, T4m;			 {			      E T1k, T1l, T1o, T1p;			      T1k = Ip[WS(rs, 7)];			      T1l = Im[WS(rs, 7)];			      T1m = T1k - T1l;			      T4o = T1k + T1l;			      T1o = Rp[WS(rs, 7)];			      T1p = Rm[WS(rs, 7)];			      T1q = T1o + T1p;			      T4m = T1o - T1p;			 }			 T1r = FNMS(T1n, T1q, T1j * T1m);			 T5i = FNMS(T4n, T4m, T4l * T4o);			 T4p = FMA(T4l, T4m, T4n * T4o);			 T50 = FMA(T1j, T1q, T1n * T1m);		    }		    {			 E T1y, T4s, T1E, T4r;			 {			      E T1w, T1x, T1C, T1D;			      T1w = Ip[WS(rs, 3)];			      T1x = Im[WS(rs, 3)];			      T1y = T1w - T1x;			      T4s = T1w + T1x;			      T1C = Rp[WS(rs, 3)];			      T1D = Rm[WS(rs, 3)];			      T1E = T1C + T1D;			      T4r = T1C - T1D;			 }			 T1F = FNMS(T1B, T1E, T1v * T1y);			 T5k = FNMS(T26, T4r, T23 * T4s);			 T4t = FMA(T23, T4r, T26 * T4s);			 T52 = FMA(T1v, T1E, T1B * T1y);		    }		    T1s = T1a + T1r;		    T1R = T1F + T1Q;		    T65 = T1s - T1R;		    T51 = T4Z + T50;		    T54 = T52 + T53;		    T64 = T51 - T54;		    {			 E T4q, T4z, T7E, T7F;			 T4q = T4k + T4p;			 T4z = T4t + T4y;			 T4A = T4q + T4z;			 T6g = T4z - T4q;			 T7E = T5h - T5i;			 T7F = T4y - T4t;			 T7G = T7E + T7F;			 T8U = T7E - T7F;		    }		    {			 E T5j, T5m, T79, T7a;			 T5j = T5h + T5i;			 T5m = T5k + T5l;			 T5n = T5j + T5m;			 T6d = T5j - T5m;			 T79 = T4Z - T50;			 T7a = T1F - T1Q;			 T7b = T79 + T7a;			 T8J = T79 - T7a;		    }		    {			 E T7x, T7y, T76, T77;			 T7x = T4p - T4k;			 T7y = T5k - T5l;			 T7z = T7x - T7y;			 T8R = T7x + T7y;			 T76 = T1a - T1r;			 T77 = T52 - T53;			 T78 = T76 - T77;			 T8I = T76 + T77;		    }	       }	       {		    E T1T, T5S, T5M, T5W, T5P, T5X, T3a, T5I, T4C, T58, T56, T5H, T5E, T5G, T4R;		    E T5R;		    {			 E TX, T1S, T5K, T5L;			 TX = Tv + TW;			 T1S = T1s + T1R;			 T1T = TX + T1S;			 T5S = TX - T1S;			 T5K = T5n - T5g;			 T5L = T4b - T4A;			 T5M = T5K + T5L;			 T5W = T5K - T5L;		    }		    {			 E T5N, T5O, T2A, T39;			 T5N = T3T + T3A;			 T5O = T5C - T5v;			 T5P = T5N - T5O;			 T5X = T5N + T5O;			 T2A = T2g + T2z;			 T39 = T2T + T38;			 T3a = T2A + T39;			 T5I = T39 - T2A;		    }		    {			 E T3U, T4B, T4Y, T55;			 T3U = T3A - T3T;			 T4B = T4b + T4A;			 T4C = T3U - T4B;			 T58 = T4B + T3U;			 T4Y = T4U + T4X;			 T55 = T51 + T54;			 T56 = T4Y + T55;			 T5H = T55 - T4Y;		    }		    {			 E T5o, T5D, T4J, T4Q;			 T5o = T5g + T5n;			 T5D = T5v + T5C;			 T5E = T5o - T5D;			 T5G = T5o + T5D;			 T4J = T4F + T4I;			 T4Q = T4M + T4P;			 T4R = T4J + T4Q;			 T5R = T4J - T4Q;		    }		    {			 E T3b, T5F, T57, T59;			 T3b = T1T + T3a;			 Ip[0] = KP500000000 * (T3b + T4C);			 Im[WS(rs, 15)] = KP500000000 * (T4C - T3b);			 T5F = T4R + T56;			 Rm[WS(rs, 15)] = KP500000000 * (T5F - T5G);			 Rp[0] = KP500000000 * (T5F + T5G);			 T57 = T4R - T56;			 Rm[WS(rs, 7)] = KP500000000 * (T57 - T58);			 Rp[WS(rs, 8)] = KP500000000 * (T57 + T58);			 T59 = T3a - T1T;			 Ip[WS(rs, 8)] = KP500000000 * (T59 + T5E);			 Im[WS(rs, 7)] = KP500000000 * (T5E - T59);		    }		    {			 E T5J, T5Q, T5Z, T60;			 T5J = KP500000000 * (T5H + T5I);			 T5Q = KP353553390 * (T5M + T5P);			 Ip[WS(rs, 4)] = T5J + T5Q;			 Im[WS(rs, 11)] = T5Q - T5J;			 T5Z = KP500000000 * (T5R + T5S);			 T60 = KP353553390 * (T5W + T5X);			 Rm[WS(rs, 11)] = T5Z - T60;			 Rp[WS(rs, 4)] = T5Z + T60;		    }		    {			 E T5T, T5U, T5V, T5Y;			 T5T = KP500000000 * (T5R - T5S);			 T5U = KP353553390 * (T5P - T5M);			 Rm[WS(rs, 3)] = T5T - T5U;			 Rp[WS(rs, 12)] = T5T + T5U;			 T5V = KP500000000 * (T5I - T5H);			 T5Y = KP353553390 * (T5W - T5X);			 Ip[WS(rs, 12)] = T5V + T5Y;			 Im[WS(rs, 3)] = T5Y - T5V;		    }	       }	       {		    E T67, T6Q, T6K, T6U, T6N, T6V, T6a, T6G, T6i, T6A, T6t, T6P, T6w, T6F, T6p;		    E T6B;		    {			 E T63, T66, T6I, T6J;			 T63 = T61 - T62;			 T66 = T64 + T65;			 T67 = KP353553390 * (T63 + T66);			 T6Q = KP353553390 * (T63 - T66);			 T6I = T6d - T6c;			 T6J = T6g - T6f;			 T6K = FMA(KP461939766, T6I, KP191341716 * T6J);			 T6U = FNMS(KP461939766, T6J, KP191341716 * T6I);		    }		    {			 E T6L, T6M, T68, T69;			 T6L = T6k - T6j;			 T6M = T6n - T6m;			 T6N = FNMS(KP461939766, T6M, KP191341716 * T6L);			 T6V = FMA(KP461939766, T6L, KP191341716 * T6M);			 T68 = T4P - T4M;			 T69 = T38 - T2T;			 T6a = KP500000000 * (T68 + T69);			 T6G = KP500000000 * (T69 - T68);		    }		    {			 E T6e, T6h, T6r, T6s;			 T6e = T6c + T6d;			 T6h = T6f + T6g;			 T6i = FMA(KP191341716, T6e, KP461939766 * T6h);			 T6A = FNMS(KP191341716, T6h, KP461939766 * T6e);			 T6r = T4F - T4I;			 T6s = T2g - T2z;			 T6t = KP500000000 * (T6r + T6s);			 T6P = KP500000000 * (T6r - T6s);		    }		    {			 E T6u, T6v, T6l, T6o;			 T6u = T62 + T61;			 T6v = T64 - T65;			 T6w = KP353553390 * (T6u + T6v);			 T6F = KP353553390 * (T6v - T6u);			 T6l = T6j + T6k;			 T6o = T6m + T6n;			 T6p = FNMS(KP191341716, T6o, KP461939766 * T6l);			 T6B = FMA(KP191341716, T6l, KP461939766 * T6o);		    }		    {			 E T6b, T6q, T6D, T6E;			 T6b = T67 + T6a;			 T6q = T6i + T6p;			 Ip[WS(rs, 2)] = T6b + T6q;			 Im[WS(rs, 13)] = T6q - T6b;			 T6D = T6t + T6w;			 T6E = T6A + T6B;			 Rm[WS(rs, 13)] = T6D - T6E;			 Rp[WS(rs, 2)] = T6D + T6E;		    }		    {			 E T6x, T6y, T6z, T6C;			 T6x = T6t - T6w;			 T6y = T6p - T6i;			 Rm[WS(rs, 5)] = T6x - T6y;			 Rp[WS(rs, 10)] = T6x + T6y;			 T6z = T6a - T67;			 T6C = T6A - T6B;			 Ip[WS(rs, 10)] = T6z + T6C;			 Im[WS(rs, 5)] = T6C - T6z;		    }		    {			 E T6H, T6O, T6X, T6Y;			 T6H = T6F + T6G;			 T6O = T6K + T6N;			 Ip[WS(rs, 6)] = T6H + T6O;			 Im[WS(rs, 9)] = T6O - T6H;			 T6X = T6P + T6Q;			 T6Y = T6U + T6V;			 Rm[WS(rs, 9)] = T6X - T6Y;			 Rp[WS(rs, 6)] = T6X + T6Y;		    }		    {			 E T6R, T6S, T6T, T6W;			 T6R = T6P - T6Q;			 T6S = T6N - T6K;			 Rm[WS(rs, 1)] = T6R - T6S;			 Rp[WS(rs, 14)] = T6R + T6S;			 T6T = T6G - T6F;			 T6W = T6U - T6V;			 Ip[WS(rs, 14)] = T6T + T6W;			 Im[WS(rs, 1)] = T6W - T6T;		    }	       }	       {		    E T7d, T8w, T7o, T8m, T8c, T8l, T89, T8v, T81, T8B, T8h, T8t, T7I, T8A, T8g;		    E T8q;		    {			 E T75, T7c, T85, T88;			 T75 = FNMS(KP191341716, T74, KP461939766 * T71);			 T7c = FMA(KP461939766, T78, KP191341716 * T7b);			 T7d = T75 + T7c;			 T8w = T75 - T7c;			 {			      E T7k, T7n, T8a, T8b;			      T7k = KP353553390 * (T7g + T7j);			      T7n = KP500000000 * (T7l - T7m);			      T7o = T7k + T7n;			      T8m = T7n - T7k;			      T8a = FMA(KP191341716, T71, KP461939766 * T74);			      T8b = FNMS(KP191341716, T78, KP461939766 * T7b);			      T8c = T8a + T8b;			      T8l = T8b - T8a;			 }			 T85 = KP500000000 * (T83 + T84);			 T88 = KP353553390 * (T86 + T87);			 T89 = T85 + T88;			 T8v = T85 - T88;			 {			      E T7T, T8r, T80, T8s, T7P, T7W;			      T7P = KP707106781 * (T7L + T7O);			      T7T = T7P + T7S;			      T8r = T7S - T7P;			      T7W = KP707106781 * (T7U + T7V);			      T80 = T7W + T7Z;			      T8s = T7Z - T7W;			      T81 = FNMS(KP097545161, T80, KP490392640 * T7T);			      T8B = FMA(KP415734806, T8r, KP277785116 * T8s);			      T8h = FMA(KP097545161, T7T, KP490392640 * T80);			      T8t = FNMS(KP415734806, T8s, KP277785116 * T8r);			 }			 {			      E T7A, T8o, T7H, T8p, T7w, T7D;			      T7w = KP707106781 * (T7s + T7v);			      T7A = T7w + T7z;			      T8o = T7z - T7w;			      T7D = KP707106781 * (T7B + T7C);			      T7H = T7D + T7G;			      T8p = T7G - T7D;			      T7I = FMA(KP490392640, T7A, KP097545161 * T7H);			      T8A = FNMS(KP415734806, T8o, KP277785116 * T8p);			      T8g = FNMS(KP097545161, T7A, KP490392640 * T7H);			      T8q = FMA(KP277785116, T8o, KP415734806 * T8p);			 }		    }		    {			 E T7p, T82, T8j, T8k;			 T7p = T7d + T7o;			 T82 = T7I + T81;			 Ip[WS(rs, 1)] = T7p + T82;			 Im[WS(rs, 14)] = T82 - T7p;			 T8j = T89 + T8c;			 T8k = T8g + T8h;			 Rm[WS(rs, 14)] = T8j - T8k;			 Rp[WS(rs, 1)] = T8j + T8k;		    }		    {			 E T8d, T8e, T8f, T8i;			 T8d = T89 - T8c;			 T8e = T81 - T7I;			 Rm[WS(rs, 6)] = T8d - T8e;			 Rp[WS(rs, 9)] = T8d + T8e;			 T8f = T7o - T7d;			 T8i = T8g - T8h;			 Ip[WS(rs, 9)] = T8f + T8i;			 Im[WS(rs, 6)] = T8i - T8f;		    }		    {			 E T8n, T8u, T8D, T8E;			 T8n = T8l + T8m;			 T8u = T8q + T8t;			 Ip[WS(rs, 5)] = T8n + T8u;			 Im[WS(rs, 10)] = T8u - T8n;			 T8D = T8v + T8w;			 T8E = T8A + T8B;			 Rm[WS(rs, 10)] = T8D - T8E;			 Rp[WS(rs, 5)] = T8D + T8E;		    }		    {			 E T8x, T8y, T8z, T8C;			 T8x = T8v - T8w;			 T8y = T8t - T8q;			 Rm[WS(rs, 2)] = T8x - T8y;			 Rp[WS(rs, 13)] = T8x + T8y;			 T8z = T8m - T8l;			 T8C = T8A - T8B;			 Ip[WS(rs, 13)] = T8z + T8C;			 Im[WS(rs, 2)] = T8C - T8z;		    }	       }	       {		    E T8L, T9u, T8O, T9k, T9a, T9j, T97, T9t, T93, T9z, T9f, T9r, T8W, T9y, T9e;		    E T9o;		    {			 E T8H, T8K, T95, T96;			 T8H = FNMS(KP461939766, T8G, KP191341716 * T8F);			 T8K = FMA(KP191341716, T8I, KP461939766 * T8J);			 T8L = T8H + T8K;			 T9u = T8H - T8K;			 {			      E T8M, T8N, T98, T99;			      T8M = KP353553390 * (T87 - T86);			      T8N = KP500000000 * (T7m + T7l);			      T8O = T8M + T8N;			      T9k = T8N - T8M;			      T98 = FMA(KP461939766, T8F, KP191341716 * T8G);			      T99 = FNMS(KP461939766, T8I, KP191341716 * T8J);			      T9a = T98 + T99;			      T9j = T99 - T98;			 }			 T95 = KP500000000 * (T83 - T84);			 T96 = KP353553390 * (T7g - T7j);			 T97 = T95 + T96;			 T9t = T95 - T96;			 {			      E T8Z, T9p, T92, T9q, T8X, T90;			      T8X = KP707106781 * (T7V - T7U);			      T8Z = T8X + T8Y;			      T9p = T8Y - T8X;			      T90 = KP707106781 * (T7L - T7O);			      T92 = T90 + T91;			      T9q = T91 - T90;			      T93 = FNMS(KP277785116, T92, KP415734806 * T8Z);			      T9z = FMA(KP490392640, T9p, KP097545161 * T9q);			      T9f = FMA(KP277785116, T8Z, KP415734806 * T92);			      T9r = FNMS(KP490392640, T9q, KP097545161 * T9p);			 }			 {			      E T8S, T9m, T8V, T9n, T8Q, T8T;			      T8Q = KP707106781 * (T7C - T7B);			      T8S = T8Q + T8R;			      T9m = T8R - T8Q;			      T8T = KP707106781 * (T7s - T7v);			      T8V = T8T + T8U;			      T9n = T8U - T8T;			      T8W = FMA(KP415734806, T8S, KP277785116 * T8V);			      T9y = FNMS(KP490392640, T9m, KP097545161 * T9n);			      T9e = FNMS(KP277785116, T8S, KP415734806 * T8V);			      T9o = FMA(KP097545161, T9m, KP490392640 * T9n);			 }		    }		    {			 E T8P, T94, T9h, T9i;			 T8P = T8L + T8O;			 T94 = T8W + T93;			 Ip[WS(rs, 3)] = T8P + T94;			 Im[WS(rs, 12)] = T94 - T8P;			 T9h = T97 + T9a;			 T9i = T9e + T9f;			 Rm[WS(rs, 12)] = T9h - T9i;			 Rp[WS(rs, 3)] = T9h + T9i;		    }		    {			 E T9b, T9c, T9d, T9g;			 T9b = T97 - T9a;			 T9c = T93 - T8W;			 Rm[WS(rs, 4)] = T9b - T9c;			 Rp[WS(rs, 11)] = T9b + T9c;			 T9d = T8O - T8L;			 T9g = T9e - T9f;			 Ip[WS(rs, 11)] = T9d + T9g;			 Im[WS(rs, 4)] = T9g - T9d;		    }		    {			 E T9l, T9s, T9B, T9C;			 T9l = T9j + T9k;			 T9s = T9o + T9r;			 Ip[WS(rs, 7)] = T9l + T9s;			 Im[WS(rs, 8)] = T9s - T9l;			 T9B = T9t + T9u;			 T9C = T9y + T9z;			 Rm[WS(rs, 8)] = T9B - T9C;			 Rp[WS(rs, 7)] = T9B + T9C;		    }		    {			 E T9v, T9w, T9x, T9A;			 T9v = T9t - T9u;			 T9w = T9r - T9o;			 Rm[0] = T9v - T9w;			 Rp[WS(rs, 15)] = T9v + T9w;			 T9x = T9k - T9j;			 T9A = T9y - T9z;			 Ip[WS(rs, 15)] = T9x + T9A;			 Im[0] = T9A - T9x;		    }	       }	  }     }}static const tw_instr twinstr[] = {     {TW_CEXP, 1, 1},     {TW_CEXP, 1, 3},     {TW_CEXP, 1, 9},     {TW_CEXP, 1, 27},     {TW_NEXT, 1, 0}};static const hc2c_desc desc = { 32, "hc2cfdft2_32", twinstr, &GENUS, {440, 188, 112, 0} };void X(codelet_hc2cfdft2_32) (planner *p) {     X(khc2c_register) (p, hc2cfdft2_32, &desc, HC2C_VIA_DFT);}#endif				/* HAVE_FMA */

⌨️ 快捷键说明

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