📄 hc2cfdft2_32.c
字号:
{ 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 + -