📄 hc2cb_32.c
字号:
T2L = TK - TZ; T2M = T2K - T2L; T2Q = T2L + T2K; } { E T2F, T2J, T2N, T2P; T2F = W[46]; T2J = W[47]; Rp[WS(rs, 12)] = FNMS(T2J, T2M, T2F * T2I); Rm[WS(rs, 12)] = FMA(T2F, T2M, T2J * T2I); T2N = W[14]; T2P = W[15]; Rp[WS(rs, 4)] = FNMS(T2P, T2Q, T2N * T2O); Rm[WS(rs, 4)] = FMA(T2N, T2Q, T2P * T2O); } } { E T1i, T2a, T2o, T2k, T2d, T2l, T1R, T2p; T1i = T12 + T1h; T2a = T1U + T29; T2o = T29 - T1U; T2k = T12 - T1h; { E T2b, T2c, T1z, T1Q; T2b = T1j + T1y; T2c = T1P - T1A; T2d = KP707106781 * (T2b + T2c); T2l = KP707106781 * (T2c - T2b); T1z = T1j - T1y; T1Q = T1A + T1P; T1R = KP707106781 * (T1z + T1Q); T2p = KP707106781 * (T1z - T1Q); } { E T1S, T2e, T11, T1T; T1S = T1i - T1R; T2e = T2a - T2d; T11 = W[38]; T1T = W[39]; Rp[WS(rs, 10)] = FNMS(T1T, T2e, T11 * T1S); Rm[WS(rs, 10)] = FMA(T1T, T1S, T11 * T2e); } { E T2s, T2u, T2r, T2t; T2s = T2k + T2l; T2u = T2o + T2p; T2r = W[22]; T2t = W[23]; Rp[WS(rs, 6)] = FNMS(T2t, T2u, T2r * T2s); Rm[WS(rs, 6)] = FMA(T2r, T2u, T2t * T2s); } { E T2g, T2i, T2f, T2h; T2g = T1i + T1R; T2i = T2a + T2d; T2f = W[6]; T2h = W[7]; Rp[WS(rs, 2)] = FNMS(T2h, T2i, T2f * T2g); Rm[WS(rs, 2)] = FMA(T2h, T2g, T2f * T2i); } { E T2m, T2q, T2j, T2n; T2m = T2k - T2l; T2q = T2o - T2p; T2j = W[54]; T2n = W[55]; Rp[WS(rs, 14)] = FNMS(T2n, T2q, T2j * T2m); Rm[WS(rs, 14)] = FMA(T2j, T2q, T2n * T2m); } } { E T3O, T4a, T40, T4e, T3V, T4f, T43, T4b, T3N, T3Z; T3N = KP707106781 * (T3n + T3o); T3O = T3M - T3N; T4a = T3M + T3N; T3Z = KP707106781 * (T30 + T2X); T40 = T3Y - T3Z; T4e = T3Y + T3Z; { E T3R, T3U, T41, T42; T3R = FNMS(KP382683432, T3Q, KP923879532 * T3P); T3U = FMA(KP923879532, T3S, KP382683432 * T3T); T3V = T3R - T3U; T4f = T3U + T3R; T41 = FNMS(KP382683432, T3S, KP923879532 * T3T); T42 = FMA(KP382683432, T3P, KP923879532 * T3Q); T43 = T41 - T42; T4b = T41 + T42; } { E T3W, T44, T3L, T3X; T3W = T3O - T3V; T44 = T40 - T43; T3L = W[50]; T3X = W[51]; Rp[WS(rs, 13)] = FNMS(T3X, T44, T3L * T3W); Rm[WS(rs, 13)] = FMA(T3X, T3W, T3L * T44); } { E T4i, T4k, T4h, T4j; T4i = T4a + T4b; T4k = T4e + T4f; T4h = W[2]; T4j = W[3]; Rp[WS(rs, 1)] = FNMS(T4j, T4k, T4h * T4i); Rm[WS(rs, 1)] = FMA(T4h, T4k, T4j * T4i); } { E T46, T48, T45, T47; T46 = T3O + T3V; T48 = T40 + T43; T45 = W[18]; T47 = W[19]; Rp[WS(rs, 5)] = FNMS(T47, T48, T45 * T46); Rm[WS(rs, 5)] = FMA(T47, T46, T45 * T48); } { E T4c, T4g, T49, T4d; T4c = T4a - T4b; T4g = T4e - T4f; T49 = W[34]; T4d = W[35]; Rp[WS(rs, 9)] = FNMS(T4d, T4g, T49 * T4c); Rm[WS(rs, 9)] = FMA(T49, T4g, T4d * T4c); } } { E T32, T3A, T3q, T3E, T3h, T3F, T3t, T3B, T31, T3p; T31 = KP707106781 * (T2X - T30); T32 = T2U - T31; T3A = T2U + T31; T3p = KP707106781 * (T3n - T3o); T3q = T3m - T3p; T3E = T3m + T3p; { E T39, T3g, T3r, T3s; T39 = FNMS(KP923879532, T38, KP382683432 * T35); T3g = FMA(KP382683432, T3c, KP923879532 * T3f); T3h = T39 - T3g; T3F = T3g + T39; T3r = FNMS(KP923879532, T3c, KP382683432 * T3f); T3s = FMA(KP923879532, T35, KP382683432 * T38); T3t = T3r - T3s; T3B = T3r + T3s; } { E T3i, T3u, T2R, T3j; T3i = T32 - T3h; T3u = T3q - T3t; T2R = W[58]; T3j = W[59]; Rp[WS(rs, 15)] = FNMS(T3j, T3u, T2R * T3i); Rm[WS(rs, 15)] = FMA(T3j, T3i, T2R * T3u); } { E T3I, T3K, T3H, T3J; T3I = T3A + T3B; T3K = T3E + T3F; T3H = W[10]; T3J = W[11]; Rp[WS(rs, 3)] = FNMS(T3J, T3K, T3H * T3I); Rm[WS(rs, 3)] = FMA(T3H, T3K, T3J * T3I); } { E T3w, T3y, T3v, T3x; T3w = T32 + T3h; T3y = T3q + T3t; T3v = W[26]; T3x = W[27]; Rp[WS(rs, 7)] = FNMS(T3x, T3y, T3v * T3w); Rm[WS(rs, 7)] = FMA(T3x, T3w, T3v * T3y); } { E T3C, T3G, T3z, T3D; T3C = T3A - T3B; T3G = T3E - T3F; T3z = W[42]; T3D = W[43]; Rp[WS(rs, 11)] = FNMS(T3D, T3G, T3z * T3C); Rm[WS(rs, 11)] = FMA(T3z, T3G, T3D * T3C); } } { E T60, T6m, T6f, T6n, T67, T6r, T6c, T6q; { E T5Y, T5Z, T6d, T6e; T5Y = T4o + T4v; T5Z = T5z + T5A; T60 = T5Y + T5Z; T6m = T5Y - T5Z; T6d = FMA(KP195090322, T61, KP980785280 * T62); T6e = FNMS(KP195090322, T64, KP980785280 * T65); T6f = T6d + T6e; T6n = T6e - T6d; } { E T63, T66, T6a, T6b; T63 = FNMS(KP195090322, T62, KP980785280 * T61); T66 = FMA(KP980785280, T64, KP195090322 * T65); T67 = T63 + T66; T6r = T63 - T66; T6a = T5u + T5x; T6b = T4K + T4D; T6c = T6a + T6b; T6q = T6a - T6b; } { E T68, T6g, T5X, T69; T68 = T60 - T67; T6g = T6c - T6f; T5X = W[32]; T69 = W[33]; Ip[WS(rs, 8)] = FNMS(T69, T6g, T5X * T68); Im[WS(rs, 8)] = FMA(T69, T68, T5X * T6g); } { E T6u, T6w, T6t, T6v; T6u = T6m + T6n; T6w = T6q + T6r; T6t = W[16]; T6v = W[17]; Ip[WS(rs, 4)] = FNMS(T6v, T6w, T6t * T6u); Im[WS(rs, 4)] = FMA(T6t, T6w, T6v * T6u); } { E T6i, T6k, T6h, T6j; T6i = T60 + T67; T6k = T6c + T6f; T6h = W[0]; T6j = W[1]; Ip[0] = FNMS(T6j, T6k, T6h * T6i); Im[0] = FMA(T6j, T6i, T6h * T6k); } { E T6o, T6s, T6l, T6p; T6o = T6m - T6n; T6s = T6q - T6r; T6l = W[48]; T6p = W[49]; Ip[WS(rs, 12)] = FNMS(T6p, T6s, T6l * T6o); Im[WS(rs, 12)] = FMA(T6l, T6s, T6p * T6o); } } { E T7u, T7Q, T7J, T7R, T7B, T7V, T7G, T7U; { E T7s, T7t, T7H, T7I; T7s = T6y + T6z; T7t = T73 + T74; T7u = T7s - T7t; T7Q = T7s + T7t; T7H = FMA(KP195090322, T7w, KP980785280 * T7v); T7I = FMA(KP195090322, T7z, KP980785280 * T7y); T7J = T7H - T7I; T7R = T7H + T7I; } { E T7x, T7A, T7E, T7F; T7x = FNMS(KP980785280, T7w, KP195090322 * T7v); T7A = FNMS(KP980785280, T7z, KP195090322 * T7y); T7B = T7x + T7A; T7V = T7x - T7A; T7E = T70 - T71; T7F = T6D - T6G; T7G = T7E + T7F; T7U = T7E - T7F; } { E T7C, T7K, T7r, T7D; T7C = T7u - T7B; T7K = T7G - T7J; T7r = W[44]; T7D = W[45]; Ip[WS(rs, 11)] = FNMS(T7D, T7K, T7r * T7C); Im[WS(rs, 11)] = FMA(T7D, T7C, T7r * T7K); } { E T7Y, T80, T7X, T7Z; T7Y = T7Q + T7R; T80 = T7U - T7V; T7X = W[60]; T7Z = W[61]; Ip[WS(rs, 15)] = FNMS(T7Z, T80, T7X * T7Y); Im[WS(rs, 15)] = FMA(T7X, T80, T7Z * T7Y); } { E T7M, T7O, T7L, T7N; T7M = T7u + T7B; T7O = T7G + T7J; T7L = W[12]; T7N = W[13]; Ip[WS(rs, 3)] = FNMS(T7N, T7O, T7L * T7M); Im[WS(rs, 3)] = FMA(T7N, T7M, T7L * T7O); } { E T7S, T7W, T7P, T7T; T7S = T7Q - T7R; T7W = T7U + T7V; T7P = W[28]; T7T = W[29]; Ip[WS(rs, 7)] = FNMS(T7T, T7W, T7P * T7S); Im[WS(rs, 7)] = FMA(T7P, T7W, T7T * T7S); } } { E T4M, T5M, T5F, T5N, T5p, T5R, T5C, T5Q; { E T4w, T4L, T5D, T5E; T4w = T4o - T4v; T4L = T4D - T4K; T4M = T4w + T4L; T5M = T4w - T4L; T5D = FMA(KP831469612, T4X, KP555570233 * T54); T5E = FNMS(KP831469612, T5g, KP555570233 * T5n); T5F = T5D + T5E; T5N = T5E - T5D; } { E T55, T5o, T5y, T5B; T55 = FNMS(KP831469612, T54, KP555570233 * T4X); T5o = FMA(KP555570233, T5g, KP831469612 * T5n); T5p = T55 + T5o; T5R = T55 - T5o; T5y = T5u - T5x; T5B = T5z - T5A; T5C = T5y + T5B; T5Q = T5y - T5B; } { E T5q, T5G, T4l, T5r; T5q = T4M - T5p; T5G = T5C - T5F; T4l = W[40]; T5r = W[41]; Ip[WS(rs, 10)] = FNMS(T5r, T5G, T4l * T5q); Im[WS(rs, 10)] = FMA(T5r, T5q, T4l * T5G); } { E T5U, T5W, T5T, T5V; T5U = T5M + T5N; T5W = T5Q + T5R; T5T = W[24]; T5V = W[25]; Ip[WS(rs, 6)] = FNMS(T5V, T5W, T5T * T5U); Im[WS(rs, 6)] = FMA(T5T, T5W, T5V * T5U); } { E T5I, T5K, T5H, T5J; T5I = T4M + T5p; T5K = T5C + T5F; T5H = W[8]; T5J = W[9]; Ip[WS(rs, 2)] = FNMS(T5J, T5K, T5H * T5I); Im[WS(rs, 2)] = FMA(T5J, T5I, T5H * T5K); } { E T5O, T5S, T5L, T5P; T5O = T5M - T5N; T5S = T5Q - T5R; T5L = W[56]; T5P = W[57]; Ip[WS(rs, 14)] = FNMS(T5P, T5S, T5L * T5O); Im[WS(rs, 14)] = FMA(T5L, T5S, T5P * T5O); } } { E T6I, T7g, T79, T7h, T6X, T7l, T76, T7k; { E T6A, T6H, T77, T78; T6A = T6y - T6z; T6H = T6D + T6G; T6I = T6A - T6H; T7g = T6A + T6H; T77 = FNMS(KP555570233, T6S, KP831469612 * T6V); T78 = FMA(KP555570233, T6L, KP831469612 * T6O); T79 = T77 - T78; T7h = T77 + T78; } { E T6P, T6W, T72, T75; T6P = FNMS(KP555570233, T6O, KP831469612 * T6L); T6W = FMA(KP831469612, T6S, KP555570233 * T6V); T6X = T6P - T6W; T7l = T6W + T6P; T72 = T70 + T71; T75 = T73 - T74; T76 = T72 - T75; T7k = T72 + T75; } { E T6Y, T7a, T6x, T6Z; T6Y = T6I - T6X; T7a = T76 - T79; T6x = W[52]; T6Z = W[53]; Ip[WS(rs, 13)] = FNMS(T6Z, T7a, T6x * T6Y); Im[WS(rs, 13)] = FMA(T6Z, T6Y, T6x * T7a); } { E T7o, T7q, T7n, T7p; T7o = T7g + T7h; T7q = T7k + T7l; T7n = W[4]; T7p = W[5]; Ip[WS(rs, 1)] = FNMS(T7p, T7q, T7n * T7o); Im[WS(rs, 1)] = FMA(T7n, T7q, T7p * T7o); } { E T7c, T7e, T7b, T7d; T7c = T6I + T6X; T7e = T76 + T79; T7b = W[20]; T7d = W[21]; Ip[WS(rs, 5)] = FNMS(T7d, T7e, T7b * T7c); Im[WS(rs, 5)] = FMA(T7d, T7c, T7b * T7e); } { E T7i, T7m, T7f, T7j; T7i = T7g - T7h; T7m = T7k - T7l; T7f = W[36]; T7j = W[37]; Ip[WS(rs, 9)] = FNMS(T7j, T7m, T7f * T7i); Im[WS(rs, 9)] = FMA(T7f, T7m, T7j * T7i); } } }}static const tw_instr twinstr[] = { {TW_FULL, 1, 32}, {TW_NEXT, 1, 0}};static const hc2c_desc desc = { 32, "hc2cb_32", twinstr, &GENUS, {340, 114, 94, 0} };void X(codelet_hc2cb_32) (planner *p) { X(khc2c_register) (p, hc2cb_32, &desc, HC2C_VIA_RDFT);}#endif /* HAVE_FMA */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -