?? hc2cbdft_32.c
字號:
T3P = T3N + T3O; } { E T1H, T3S, T2A, T3R, T28, T2z; T1H = T1j + T1G; T3S = T2R - T2I; T28 = FMA(KP980785280, T1Y, KP195090322 * T27); T2z = FNMS(KP195090322, T2y, KP980785280 * T2p); T2A = T28 + T2z; T3R = T2z - T28; T2B = T1H + T2A; T45 = T3S - T3R; T3x = T1H - T2A; T3T = T3R + T3S; } } { E T2U, T3q, T12, T2C; T12 = W[0]; T2C = W[1]; T2U = FMA(T12, T2B, T2C * T2T); T3q = FNMS(T2C, T2B, T12 * T2T); Rp[0] = T11 - T2U; Ip[0] = T3p + T3q; Rm[0] = T11 + T2U; Im[0] = T3q - T3p; } { E T41, T47, T46, T48; { E T3X, T3Z, T42, T44; T3X = W[46]; T3Z = W[47]; T41 = FNMS(T3Z, T40, T3X * T3Y); T47 = FMA(T3Z, T3Y, T3X * T40); T42 = W[48]; T44 = W[49]; T46 = FMA(T42, T43, T44 * T45); T48 = FNMS(T44, T43, T42 * T45); } Rp[WS(rs, 12)] = T41 - T46; Ip[WS(rs, 12)] = T47 + T48; Rm[WS(rs, 12)] = T41 + T46; Im[WS(rs, 12)] = T48 - T47; } { E T3v, T3B, T3A, T3C; { E T3r, T3t, T3w, T3y; T3r = W[30]; T3t = W[31]; T3v = FNMS(T3t, T3u, T3r * T3s); T3B = FMA(T3t, T3s, T3r * T3u); T3w = W[32]; T3y = W[33]; T3A = FMA(T3w, T3x, T3y * T3z); T3C = FNMS(T3y, T3x, T3w * T3z); } Rp[WS(rs, 8)] = T3v - T3A; Ip[WS(rs, 8)] = T3B + T3C; Rm[WS(rs, 8)] = T3v + T3A; Im[WS(rs, 8)] = T3C - T3B; } { E T3L, T3V, T3U, T3W; { E T3D, T3H, T3M, T3Q; T3D = W[14]; T3H = W[15]; T3L = FNMS(T3H, T3K, T3D * T3G); T3V = FMA(T3H, T3G, T3D * T3K); T3M = W[16]; T3Q = W[17]; T3U = FMA(T3M, T3P, T3Q * T3T); T3W = FNMS(T3Q, T3P, T3M * T3T); } Rp[WS(rs, 4)] = T3L - T3U; Ip[WS(rs, 4)] = T3V + T3W; Rm[WS(rs, 4)] = T3L + T3U; Im[WS(rs, 4)] = T3W - T3V; } } { E T7O, T8m, T7W, T8o, T8E, T8U, T8A, T8S, T8h, T8X, T8t, T8J, T89, T8Z, T8r; E T8N; { E T7G, T7N, T8y, T8z; T7G = T7E + T7F; T7N = T7J + T7M; T7O = T7G + T7N; T8m = T7G - T7N; { E T7S, T7V, T8C, T8D; T7S = T7Q + T7R; T7V = T7T + T7U; T7W = T7S + T7V; T8o = T7V - T7S; T8C = T7J - T7M; T8D = T7U - T7T; T8E = T8C + T8D; T8U = T8D - T8C; } T8y = T7E - T7F; T8z = T7R - T7Q; T8A = T8y + T8z; T8S = T8y - T8z; { E T8g, T8H, T8d, T8I, T8b, T8c; T8g = T8e - T8f; T8H = T7Z - T80; T8b = FNMS(KP980785280, T82, KP195090322 * T83); T8c = FNMS(KP980785280, T85, KP195090322 * T86); T8d = T8b + T8c; T8I = T8b - T8c; T8h = T8d + T8g; T8X = T8H - T8I; T8t = T8g - T8d; T8J = T8H + T8I; } { E T81, T8L, T88, T8M, T84, T87; T81 = T7Z + T80; T8L = T8f + T8e; T84 = FMA(KP195090322, T82, KP980785280 * T83); T87 = FMA(KP195090322, T85, KP980785280 * T86); T88 = T84 - T87; T8M = T84 + T87; T89 = T81 + T88; T8Z = T8M + T8L; T8r = T81 - T88; T8N = T8L - T8M; } } { E T7X, T8j, T8i, T8k; { E T7D, T7P, T7Y, T8a; T7D = W[10]; T7P = W[11]; T7X = FNMS(T7P, T7W, T7D * T7O); T8j = FMA(T7P, T7O, T7D * T7W); T7Y = W[12]; T8a = W[13]; T8i = FMA(T7Y, T89, T8a * T8h); T8k = FNMS(T8a, T89, T7Y * T8h); } Rp[WS(rs, 3)] = T7X - T8i; Ip[WS(rs, 3)] = T8j + T8k; Rm[WS(rs, 3)] = T7X + T8i; Im[WS(rs, 3)] = T8k - T8j; } { E T8V, T91, T90, T92; { E T8R, T8T, T8W, T8Y; T8R = W[58]; T8T = W[59]; T8V = FNMS(T8T, T8U, T8R * T8S); T91 = FMA(T8T, T8S, T8R * T8U); T8W = W[60]; T8Y = W[61]; T90 = FMA(T8W, T8X, T8Y * T8Z); T92 = FNMS(T8Y, T8X, T8W * T8Z); } Rp[WS(rs, 15)] = T8V - T90; Ip[WS(rs, 15)] = T91 + T92; Rm[WS(rs, 15)] = T8V + T90; Im[WS(rs, 15)] = T92 - T91; } { E T8p, T8v, T8u, T8w; { E T8l, T8n, T8q, T8s; T8l = W[42]; T8n = W[43]; T8p = FNMS(T8n, T8o, T8l * T8m); T8v = FMA(T8n, T8m, T8l * T8o); T8q = W[44]; T8s = W[45]; T8u = FMA(T8q, T8r, T8s * T8t); T8w = FNMS(T8s, T8r, T8q * T8t); } Rp[WS(rs, 11)] = T8p - T8u; Ip[WS(rs, 11)] = T8v + T8w; Rm[WS(rs, 11)] = T8p + T8u; Im[WS(rs, 11)] = T8w - T8v; } { E T8F, T8P, T8O, T8Q; { E T8x, T8B, T8G, T8K; T8x = W[26]; T8B = W[27]; T8F = FNMS(T8B, T8E, T8x * T8A); T8P = FMA(T8B, T8A, T8x * T8E); T8G = W[28]; T8K = W[29]; T8O = FMA(T8G, T8J, T8K * T8N); T8Q = FNMS(T8K, T8J, T8G * T8N); } Rp[WS(rs, 7)] = T8F - T8O; Ip[WS(rs, 7)] = T8P + T8Q; Rm[WS(rs, 7)] = T8F + T8O; Im[WS(rs, 7)] = T8Q - T8P; } } { E T4k, T4S, T4s, T4U, T5a, T5q, T56, T5o, T4N, T5t, T4Z, T5f, T4F, T5v, T4X; E T5j; { E T4c, T4j, T54, T55; T4c = T4a + T4b; T4j = KP707106781 * (T4f + T4i); T4k = T4c + T4j; T4S = T4c - T4j; { E T4o, T4r, T58, T59; T4o = KP707106781 * (T4m + T4n); T4r = T4p + T4q; T4s = T4o + T4r; T4U = T4r - T4o; T58 = KP707106781 * (T4f - T4i); T59 = T4q - T4p; T5a = T58 + T59; T5q = T59 - T58; } T54 = T4a - T4b; T55 = KP707106781 * (T4n - T4m); T56 = T54 + T55; T5o = T54 - T55; { E T4M, T5d, T4J, T5e, T4H, T4I; T4M = T4K + T4L; T5d = T4v - T4w; T4H = FNMS(KP831469612, T4y, KP555570233 * T4z); T4I = FMA(KP831469612, T4B, KP555570233 * T4C); T4J = T4H + T4I; T5e = T4H - T4I; T4N = T4J + T4M; T5t = T5d - T5e; T4Z = T4M - T4J; T5f = T5d + T5e; } { E T4x, T5i, T4E, T5h, T4A, T4D; T4x = T4v + T4w; T5i = T4L - T4K; T4A = FMA(KP555570233, T4y, KP831469612 * T4z); T4D = FNMS(KP831469612, T4C, KP555570233 * T4B); T4E = T4A + T4D; T5h = T4D - T4A; T4F = T4x + T4E; T5v = T5i - T5h; T4X = T4x - T4E; T5j = T5h + T5i; } } { E T4t, T4P, T4O, T4Q; { E T49, T4l, T4u, T4G; T49 = W[6]; T4l = W[7]; T4t = FNMS(T4l, T4s, T49 * T4k); T4P = FMA(T4l, T4k, T49 * T4s); T4u = W[8]; T4G = W[9]; T4O = FMA(T4u, T4F, T4G * T4N); T4Q = FNMS(T4G, T4F, T4u * T4N); } Rp[WS(rs, 2)] = T4t - T4O; Ip[WS(rs, 2)] = T4P + T4Q; Rm[WS(rs, 2)] = T4t + T4O; Im[WS(rs, 2)] = T4Q - T4P; } { E T5r, T5x, T5w, T5y; { E T5n, T5p, T5s, T5u; T5n = W[54]; T5p = W[55]; T5r = FNMS(T5p, T5q, T5n * T5o); T5x = FMA(T5p, T5o, T5n * T5q); T5s = W[56]; T5u = W[57]; T5w = FMA(T5s, T5t, T5u * T5v); T5y = FNMS(T5u, T5t, T5s * T5v); } Rp[WS(rs, 14)] = T5r - T5w; Ip[WS(rs, 14)] = T5x + T5y; Rm[WS(rs, 14)] = T5r + T5w; Im[WS(rs, 14)] = T5y - T5x; } { E T4V, T51, T50, T52; { E T4R, T4T, T4W, T4Y; T4R = W[38]; T4T = W[39]; T4V = FNMS(T4T, T4U, T4R * T4S); T51 = FMA(T4T, T4S, T4R * T4U); T4W = W[40]; T4Y = W[41]; T50 = FMA(T4W, T4X, T4Y * T4Z); T52 = FNMS(T4Y, T4X, T4W * T4Z); } Rp[WS(rs, 10)] = T4V - T50; Ip[WS(rs, 10)] = T51 + T52; Rm[WS(rs, 10)] = T4V + T50; Im[WS(rs, 10)] = T52 - T51; } { E T5b, T5l, T5k, T5m; { E T53, T57, T5c, T5g; T53 = W[22]; T57 = W[23]; T5b = FNMS(T57, T5a, T53 * T56); T5l = FMA(T57, T56, T53 * T5a); T5c = W[24]; T5g = W[25]; T5k = FMA(T5c, T5f, T5g * T5j); T5m = FNMS(T5g, T5f, T5c * T5j); } Rp[WS(rs, 6)] = T5b - T5k; Ip[WS(rs, 6)] = T5l + T5m; Rm[WS(rs, 6)] = T5b + T5k; Im[WS(rs, 6)] = T5m - T5l; } } { E T60, T6W, T6c, T6Y, T7e, T7u, T7a, T7s, T6R, T7x, T73, T7j, T6F, T7z, T71; E T7n; { E T5K, T5Z, T78, T79; T5K = T5C + T5J; T5Z = T5R + T5Y; T60 = T5K + T5Z; T6W = T5K - T5Z; { E T64, T6b, T7c, T7d; T64 = T62 + T63; T6b = T67 + T6a; T6c = T64 + T6b; T6Y = T6b - T64; T7c = T5R - T5Y; T7d = T6a - T67; T7e = T7c + T7d; T7u = T7d - T7c; } T78 = T5C - T5J; T79 = T63 - T62; T7a = T78 + T79; T7s = T78 - T79; { E T6Q, T7h, T6J, T7i, T6H, T6I; T6Q = T6M + T6P; T7h = T6h - T6o; T6H = FNMS(KP555570233, T6s, KP831469612 * T6v); T6I = FMA(KP555570233, T6z, KP831469612 * T6C); T6J = T6H + T6I; T7i = T6H - T6I; T6R = T6J + T6Q; T7x = T7h - T7i; T73 = T6Q - T6J; T7j = T7h + T7i; } { E T6p, T7m, T6E, T7l, T6w, T6D; T6p = T6h + T6o; T7m = T6P - T6M; T6w = FMA(KP831469612, T6s, KP555570233 * T6v); T6D = FNMS(KP555570233, T6C, KP831469612 * T6z); T6E = T6w + T6D; T7l = T6D - T6w; T6F = T6p + T6E; T7z = T7m - T7l; T71 = T6p - T6E; T7n = T7l + T7m; } } { E T6d, T6T, T6S, T6U; { E T5z, T61, T6e, T6G; T5z = W[2]; T61 = W[3]; T6d = FNMS(T61, T6c, T5z * T60); T6T = FMA(T61, T60, T5z * T6c); T6e = W[4]; T6G = W[5]; T6S = FMA(T6e, T6F, T6G * T6R); T6U = FNMS(T6G, T6F, T6e * T6R); } Rp[WS(rs, 1)] = T6d - T6S; Ip[WS(rs, 1)] = T6T + T6U; Rm[WS(rs, 1)] = T6d + T6S; Im[WS(rs, 1)] = T6U - T6T; } { E T7v, T7B, T7A, T7C; { E T7r, T7t, T7w, T7y; T7r = W[50]; T7t = W[51]; T7v = FNMS(T7t, T7u, T7r * T7s); T7B = FMA(T7t, T7s, T7r * T7u); T7w = W[52]; T7y = W[53]; T7A = FMA(T7w, T7x, T7y * T7z); T7C = FNMS(T7y, T7x, T7w * T7z); } Rp[WS(rs, 13)] = T7v - T7A; Ip[WS(rs, 13)] = T7B + T7C; Rm[WS(rs, 13)] = T7v + T7A; Im[WS(rs, 13)] = T7C - T7B; } { E T6Z, T75, T74, T76; { E T6V, T6X, T70, T72; T6V = W[34]; T6X = W[35]; T6Z = FNMS(T6X, T6Y, T6V * T6W); T75 = FMA(T6X, T6W, T6V * T6Y); T70 = W[36]; T72 = W[37]; T74 = FMA(T70, T71, T72 * T73); T76 = FNMS(T72, T71, T70 * T73); } Rp[WS(rs, 9)] = T6Z - T74; Ip[WS(rs, 9)] = T75 + T76; Rm[WS(rs, 9)] = T6Z + T74; Im[WS(rs, 9)] = T76 - T75; } { E T7f, T7p, T7o, T7q; { E T77, T7b, T7g, T7k; T77 = W[18]; T7b = W[19]; T7f = FNMS(T7b, T7e, T77 * T7a); T7p = FMA(T7b, T7a, T77 * T7e); T7g = W[20]; T7k = W[21]; T7o = FMA(T7g, T7j, T7k * T7n); T7q = FNMS(T7k, T7j, T7g * T7n); } Rp[WS(rs, 5)] = T7f - T7o; Ip[WS(rs, 5)] = T7p + T7q; Rm[WS(rs, 5)] = T7f + T7o; Im[WS(rs, 5)] = T7q - T7p; } } }}static const tw_instr twinstr[] = { {TW_FULL, 1, 32}, {TW_NEXT, 1, 0}};static const hc2c_desc desc = { 32, "hc2cbdft_32", twinstr, &GENUS, {404, 114, 94, 0} };void X(codelet_hc2cbdft_32) (planner *p) { X(khc2c_register) (p, hc2cbdft_32, &desc, HC2C_VIA_DFT);}#endif /* HAVE_FMA */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -